Part Number Hot Search : 
ADN2860 CGRB305 MUR2540R TD3166 A1381 NATC99 2LP13 HER10
Product Description
Full Text Search
 

To Download DA14580 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 1 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final general description the DA14580 integrated circuit has a fully integrated radio transceiver and baseband processor for blue- tooth ? smart . it can be used as a standalone applica- tion processor or as a da ta pump in hosted systems. the DA14580 supports a flexible memory architecture for storing bluetooth profiles and custom application code, which can be updated over the air (ota). the qualified bluetooth smart protocol stack is stored in a dedicated rom. all software runs on the arm ? cor- tex ? -m0 processor via a simple scheduler. the bluetooth smart firmware includes the l2cap ser- vice layer protocols, security manager (sm), attribute protocol (att), the generi c attribute profile (gatt) and the generic access prof ile (gap). all profiles pub- lished by the bluetooth sig as well as custom profiles are supported. the transceiver interfaces directly to the antenna and is fully compliant with the bluetooth 4.2 standard. the DA14580 has dedicated hardware for the link layer implementation of bluetooth smart and interface controllers for enhanced connectivity capabilities. features ? complies with bluetooth v4.2, etsi en 300 328 and en 300 440 class 2 (europe), fcc cfr47 part 15 (us) and arib std-t66 (japan) ? processing power ? 16 mhz 32 bit arm cortex-m0 with swd inter- face ? dedicated link layer processor ? aes-128 bit encryption processor ? memories ? 32 kb one-time-programmable (otp) memory ? 42 kb system sram ? 84 kb rom ? 8 kb retention sram ? power management ? integrated buck/boost dc-dc converter ? p0, p1, p2 and p3 ports with 3.3 v tolerance ? easy decoupling of only 4 supply pins ? supports coin (typ. 3.0 v) and alkaline (typ. 1.5 v) battery cells ? 10-bit adc for battery voltage measurement ? digital controlled oscillators ? 16 mhz crystal (20 ppm max) and rc oscillator ? 32 khz crystal (50 ppm, 500 ppm max) and rcx oscillator ? general purpose, capture and sleep timers ? digital interfaces ? general purpose i/os: 14 (wlcsp34 package), 24 (qfn40 package), 32 (qfn48 package) ? 2 uarts with hardware flow control up to 1 mbd ? spi+? interface ? i2c bus at 100 khz, 400 khz ? 3-axes capable quadrature decoder ? analog interfaces ? 4-channel 10-bit adc ? radio transceiver ? fully integrated 2.4 ghz cmos transceiver ? single wire antenna: no rf matching or rx/tx switching required ? supply current at vbat3v: tx: 3.4 ma, rx: 3.7 ma (with ideal dc-dc) ? 0 dbm transmit output power ? -20 dbm output power in ?near field mode? ? -93 dbm receiver sensitivity ? packages: ? wlcsp 34 pins, 2.436 mm x 2.436 mm ? qfn 40 pins, 5 mm x 5 mm ? qfn 48 pins, 6 mm x 6 mm ? kgd (wafer, dice) ________________________________________________________________________________________________ system diagram
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 2 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final contents general description . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 system diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 ordering information . . . . . . . . . . . . . . . . . . . . . . . . 8 4 system overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 arm cortex ? m0 cpu . . . . . . . . . . . . . . . . . . 9 4.2 bluetooth smart . . . . . . . . . . . . . . . . . . . . 9 4.2.1 ble core . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2.2 radio transceiver . . . . . . . . . . . . . . . . . 10 4.2.3 smartsnippets ? ?????????????????????????????????????????? ?? 4.3 memories . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 4.4 functional modes . . . . . . . . . . . . . . . . . . .11 4.5 power modes. . . . . . . . . . . . . . . . . . . . . . . 12 4.6 interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.6.1 uarts . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.6.2 spi+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.6.3 i2c interface . . . . . . . . . . . . . . . . . . . . . 12 4.6.4 general purpose adc . . . . . . . . . . . . . . 13 4.6.5 quadrature decoder. . . . . . . . . . . . . . . . 13 4.6.6 keyboard controller . . . . . . . . . . . . . . . . 13 4.6.7 input/output ports . . . . . . . . . . . . . . . . . . 13 4.7 timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.7.1 general purpose timers . . . . . . . . . . . . . 13 4.7.2 wake-up timer . . . . . . . . . . . . . . . . . . . . 14 4.7.3 watchdog timer . . . . . . . . . . . . . . . . . . . 14 4.8 clock/reset . . . . . . . . . . . . . . . . . . . . . . . . 14 4.8.1 clocks . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.8.2 reset . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.9 power management . . . . . . . . . . . . . . . . 15 5 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6 specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7 package information . . . . . . . . . . . . . . . . . . . . . . . 151 7.1 moisture sensitivit y level (msl) . . . 151 7.2 wlcsp handling . . . . . . . . . . . . . . . . . . . 151 7.3 soldering information . . . . . . . . . . . . 151 7.4 package outlines . . . . . . . . . . . . . . . . . 152
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 3 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 1 block diagram figure 1: DA14580 block diagram 24 april 2012 arm cortex m0 swd (jtag) core poreset ble core link layer hardware aes-128 radio transceiver apb bridge power/clock management (pmu) dcdc (buck/boost) gpio multiplexing xtal 16 mhz xtal 32.768 khz rc 32 khz sw timer gp adc spi rom 84 kb system/ exchange ram 42 kb ret. ram 2 kb rc 16 mhz memory controller otp 32 kb dma otpc quad decoder ldo sys ldo ret ldo sys ldo sys ldo rf wake up timer ret. ram2 3 kb ret. ram3 2 kb ret. ram4 1 kb keyboard ctrl uart fifo uart2 fifo i2c fifo rcx timer 0 1xpwm timer 2 3xpwm
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 4 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 2 pinout the DA14580 comes in three packages: ? wafer level chip scale package (wlcsp) with 34 balls ? quad flat package no leads (qfn) with 48 pins ? quad flat package no leads (qfn) with 40 pins the actual pin/ball assignment is depicted in the follow- ing figures: figure 2: wlcsp34 ball assignment 12345 a b c d e 6 f r fio m rf i o p x tal 1 6 mm xtal16 m p s w _ cl k s wd i o vb a t 1v swi t c h v d cd c _ r f p 1 _ 3 p1 _ 2 p 1_1 p1 _ 0 v dc d c g n d g nd r s t v b a t_ r f gn d v b at 3v x tal3 2 k p x t al 32km g n d p 0 _1 p0 _2 p0 _4 p0_ 7 vpp p 0 _ 0 p0 _3 p0_ 5 p0_6 g n d g n d figure 3: qfn48 pin assignment pin 0: gnd plane rfiop DA14580 (top view) 9 8 7 6 5 4 3 2 p0_1 p0_2 p0_3 p3_0 p0_4 p0_5 p0_6 11 10 p0_7 p2_1 p3_1 1 12 14 15 16 17 18 19 20 21 xtal32kp p2_2 vbat_rf p3_4 vbat3v gnd rst p2_3 22 23 xtal32km vdcdc 13 24 28 29 30 31 32 33 34 35 xtal16mm xtal16mp p1_3 p1_2 sw_clk swdio p1_1 vbat1v 26 27 switch p1_0 36 25 nc vpp p2_8 p2_7 rfiom p2_6 p2_5 47 p3_7 p2_9 46 45 44 43 42 41 40 39 38 p0_0 p3_2 vdcdc_rf 37 48 p2_0 p3_3 p2_4 p3_5 p3_6
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 5 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final figure 4: qfn40 pin assignment table 1: pin description pin name type drive (ma) reset state (note ) description general purpose i/os p0_0 p0_1 p0_2 p0_3 p0_4 p0_5 p0_6 p0_7 dio dio dio dio dio dio dio dio 4.8 i-pd i-pd i-pd i-pd i-pd i-pd i-pd i-pd input/output with selectable pull up/down resistor. pull-down enabled during and after reset. general purpose i/o port bit or alternate function nodes. contai ns state retention mechanism during power down. p1_0 p1_1 p1_2 p1_3 p1_4/swclk p1_5/sw_dio dio dio dio dio dio dio 4.8 i-pd i-pd i-pd i-pd i-pd i-pu input/output with selectable pull up/down resistor. pull-down enabled during and after reset. general purpose i/o port bit or alternate function nodes. contai ns state retention mechanism during power down. this signal is the jtag clock by default this signal is the jtag data i/o by default p2_0 p2_1 p2_2 p2_3 p2_4 p2_5 p2_6 p2_7 p2_8 p2_9 dio dio dio dio dio dio dio dio dio dio 4.8 i-pd i-pd i-pd i-pd i-pd i-pd i-pd i-pd i-pd i-pd input/output with selectable pull up/down resistor. pull-down enabled during and after reset. general purpose i/o port bit or alternate function nodes. contai ns state retention mechanism during power down. note: this port is only available on the qfn40/qfn48 pack- ages. 11 12 13 14 15 16 17 18 8 7 6 5 4 3 2 1 23 24 25 26 27 28 29 30 pin 0: gnd plane p2_7 p0_0 p0_1 p0_2 p0_3 nc p0_4 p2_1 xtal16mm xtal16mp p1_3 p1_2 sw_clk swdio p1_1 vbat1v xtal32kp p2_2 vbat_rf vbat3v gnd rst p2_3 vdcdc p2_9 vpp p2_8 rfiop rfiom p2_6 p2_5 40 10 9 p0_7 19 20 21 22 vdcdc_rf p2_0 xtal32km p2_4 switch p1_0 DA14580 (top view) 39 38 37 36 35 34 33 32 31 p0_5 p0_6
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 6 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final p3_0 p3_1 p3_2 p3_3 p3_4 p3_5 p3_6 p3_7 dio dio dio dio dio dio dio dio 4.8 i-pd i-pd i-pd i-pd i-pd i-pd i-pd i-pd input/output with selectable pull up/down resistor. pull-down enabled during and after reset. general purpose i/o port bit or alternate function nodes. contain state retention mechanism dur- ing power down. note: this port is only available on the qfn48 package. debug interface swdio/p1_5 dio 4.8 i-pu input/output. jtag data input/output. bidirectional data and control communication. can also be used as a gpio sw_clk/ p1_4 dio 4.8 i-pd input jtag clock signal. can also be used as a gpio clocks xtal16mp ai input. crystal input for the 16 mhz xtal xtal16mm ao output. crystal output for the 16 mhz xtal xtal32kp ai input. crystal input for the 32.768 khz xtal xtal32km ao output. crystal output for the 32.768 khz xtal quadrature decoder qd_cha_x di input. channel a for the x axis. mapped on px ports qd_chb_x di input. channel b for the x axis. mapped on px ports qd_cha_y di input. channel a for the y axis. mapped on px ports qd_chb_y di input. channel b for the y axis. mapped on px ports qd_cha_z di input. channel a for the z axis. mapped on px ports qd_chb_z di input. channel b for the z axis. mapped on px ports spi bus interface spi_clk do input/output. spi clock. mapped on px ports spi_di di input. spi data input. mapped on px ports spi_do do output. spi data output. mapped on px ports spi_en di input. spi clock enable (active low). mapped on px ports i2c bus interface sda dio/diod input/output. i2c bus data with open drain port. mapped on px ports scl dio/diod input/output. i2c bus cl ock with open drain port. in open drain mode, scl is monitored to support bit stretching by a slave. mapped on px ports. uart interface utx do output. uart transmit data. mapped on px ports urx di input. uart receive data. mapped on px ports urts do output. uart request to send. mapped on px ports ucts di input. uart clear to send. mapped on px ports utx2 do output. uart 2 transmit data. mapped on px ports urx2 di input. uart 2 receive data. mapped on px ports urts2 do output. uart 2 request to send. mapped on px ports table 1: pin description pin name type drive (ma) reset state (note ) description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 7 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final ucts2 di input. uart 2 clear to send. mapped on px ports analog interface adc[0] ai input. analog to digital converter input 0. mapped on p0[0] adc[1] ai input. analog to digital converter input 1. mapped on p0[1] adc[2] ai input. analog to digital converter input 2. mapped on p0[2] adc[3] ai input. analog to digital converter input 3. mapped on p0[3] radio transceiver rfiop aio rf input/output. impedance 50 ?? rfiom aio rf ground miscellaneous rst di input. reset signal (active high). must be connected to gnd if not used. vbat_rf aio connect to vbat3v on the pcb vdcdc_rf aio connect to vdcdc on the pcb vpp ai input. this pin is used while otp programming and testing. otp programming: vpp = 6.7 v 0.1 v otp normal operation: leave vpp floating power supply vbat3v aio input/output. battery connection. used for a single coin bat- tery (3 v). if an alkaline or a nimh battery (1.5 v) is attached to pin vbat1v, this is the second output of the dc-dc converter. vbat1v ai input. battery connection. used for an alkaline or a nimh bat- tery (1.5 v). if a single coin battery (3 v) is attached to pin vbat3v,this pin must be connected to gnd. switch aio input/output. connection for the external dc-dc converter inductor. vdcdc ao output of the dc-dc converter gnd aio - - ground table 1: pin description pin name type drive (ma) reset state (note ) description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 8 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 ordering information part number legend: DA14580-nn[abc]xyz nn: chip revision number a, ab or abc: special version (optional) xy: package code z: packing method table 2: ordering information (samples) part number package size (mm) shipment form pack quantity DA14580-01una wlcsp34 2.436 x 2.436 mini-reel 50/100/1000 DA14580-01a31 qfn48 6 x 6 tray 50 DA14580-01at1 qfn40 5 x 5 tray 50 table 3: ordering information (production) part number package size (mm) shipment form pack quantity DA14580-01una wlcsp34 2.436 x 2.436 mini-reel 5000 DA14580-01a32 qfn48 6 x 6 reel 4000 DA14580-01at2 qfn40 5 x 5 reel 5000 DA14580-01wo4 kgd wafer contact dialog semiconductor sales office DA14580-01wc4 kgd dice contact dialog semiconductor sales office table 4: ordering informa tion (preprogrammed otp) part number package shipment form pack quantity description DA14580-01pxa31 qfn48 tray 50 preprogrammed otp, version x DA14580-01pxat1 qfn40 tray 50 preprogrammed otp, version x DA14580-01pxuna wlcsp34 mini-reel 5000 preprogrammed otp, version x DA14580-01pxa32 qfn48 reel 4000 preprogrammed otp, version x DA14580-01pxat2 qfn40 reel 4000 preprogrammed otp, version x
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 9 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4 system overview the DA14580 contains the following internal blocks: 4.1 arm cortex ? m0 cpu the cortex-m0 processor is a 32-bit reduced instruc- tion set computing (risc) processor with a von neu- mann architecture (single bus interface). it uses an instruction set calle d thumb, which was first supported in the arm7tdmi processor; however, several newer instructions from the armv6 architecture and a few instructions from the thumb-2 technology are also included. thumb-2 technology extended the previous thumb instruction set to allo w all operations to be car- ried out in one cpu state. the instruction set in thumb-2 includes both 16-bit and 32-bit instructions; most instructions generated by the c compiler use the 16-bit instructions, and the 32-bit instructions are used when the 16-bit version cannot carry out the required operations. this results in high code density and avoids the overhead of swit ching between two instruc- tion sets. in total, the cortex-m0 processor supports only 56 base instructions, although some instructions can have more than one form. although the instruction set is small, the cortex-m0 processor is highly capable because the thumb instruction set is highly optimized. academically, the cortex-m0 processor is classified as load-store architecture, as it has separate instructions for reading and writing to memory, and instructions for arithmetic or logical operations that use registers. features ? thumb instruction set. highly efficient, high code density and able to execute all thumb instructions from the arm7tdmi processor. ? high performance. up to 0.9 dmips/mhz (dhrys- tone 2.1) with fast multiplier. ? built-in nested vectored interrupt controller (nvic). this makes interrupt configuration and coding of exception handlers easy. when an interrupt request is taken, the corresponding interrupt handler is exe- cuted automatically without the need to determine the exception vector in software. ? interrupts can have four different programmable pri- ority levels. the nvic aut omatically handles nested interrupts. ? the design is configured to respond to exceptions (e.g. interrupts) as soon as possible (minimum 16 clock cycles). ? non maskable interrupt (nmi) input for safety critical systems. ? easy to use and c friendly. there are only two modes (thread mode and handler mode). the whole application, includin g exception handlers, can be written in c without any assembler. ? built-in system tick timer for os support. a 24-bit timer with a dedicated exception type is included in the architecture, which the os can use as a tick timer or as a general timer in other applications with- out an os. ? supervisor call (svc) instruction with a dedicated svc exception and pendsv (pendable supervisor service) to support various operations in an embed- ded os. ? architecturally defined sleep modes and instructions to enter sleep. the sleep features allow power con- sumption to be reduced dramatically. defining sleep modes as an architectural feature makes porting of software easier because sleep is entered by a spe- cific instruction rather than implementation defined control registers. ? fault handling exception to catch various sources of errors in the system. ? support for 24 interrupts. ? little endian memory support. ? wake up interrupt controller (wic) to allow the pro- cessor to be powered down during sleep, while still allowing interrupt sources to wake up the system. ? halt mode debug. allows the processor activity to stop completely so that register values can be accessed and modified. no overhead in code size and stack memory size. ? coresight technology. allows memories and periph- erals to be accessed from the debugger without halt- ing the processor. ? supports serial wire debug (swd) connections. the serial wire debug protocol can handle the same debug features as the jtag, but it only requires two wires and is already supported by a number of debug solutions from various tools vendors. ? four (4) hardware breakpoints and two (2) watch points. ? breakpoint instruction support for an unlimited num- ber of software breakpoints. ? programmer?s model similar to the arm7tdmi pro- cessor. most existing thumb code for the arm7tdmi processor can be reused. this also makes it easy for arm7tdmi users, as there is no need to learn a new instruction set. 4.2 bluetooth smart 4.2.1 ble core the ble (bluetooth low energy) core is a qualified bluetooth baseband controll er compatible with the bluetooth smart 4.2 specificat ion and it is in charge of packet encoding/decoding and frame scheduling. features ? all device classes support (broadcaster, central, observer, peripheral)
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 10 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final ? all packet types (advertising / data / control) ? encryption (aes / ccm) ? bit stream proce ssing (crc, whitening) ? fdma/tdma/events format ting and synchronization ? frequency hopping calculation ? operating clock 16 mhz or 8 mhz ? low power modes supporting 32.0 khz or 32.768 khz ? supports power down of the baseband during the protocol?s idle periods ? ahb slave interface for register file access ? ahb slave interface for exchange memory access of cpu via ble core ? ahb master interface for direct access of ble core to exchange memory space 4.2.2 radio transceiver the radio transceiver implements the rf part of the bluetooth smart protocol. t ogether with the bluetooth 4.2 phy layer, this provides a 93 db rf link budget for reliable wireless communication. all rf blocks are supplied by on-chip low-drop out-reg- ulators (ldos). the bias scheme is programmable per block and optimized for minimum power consumption. the bluetooth le radio comprises the receiver, trans- mitter, synthesizer, rx/tx combiner block, and biasing ldos. features ? single ended rfio interface, 50 ? matched ? alignment free operation ? -93 dbm receiver sensitivity ? 0 dbm transmit output power ? ultra low power consumption ? fast frequency tuning minimises overhead 4.2.3 smartsnippets ? the DA14580 comes complete with dialog?s smart- snippets ? bluetooth software platform which includes a qualified bluetooth smart single-mode stack on chip. numerous bluetooth smart profiles for consumer well- ness, sport, fitness, securi ty and proximity applications are supplied as standard, while additional customer profiles can be developed and added as needed. the smartsnippets ? software development environ- ment is based on keil ? ?s uvision mature tools and contains example application code for both embedded and hosted modes. apart from the protocol stack, the software platform supports a hardware abstraction layer (hal) which enables easy access to peripheral?s features from a programmer?s point of view, as presented in the follow- ing figure. figure 5: smartsnippets stack
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 11 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final core drivers are provided for each interface of the DA14580 enabling optimized usage of the hardware?s capabilities. these drivers provide an easy-to-use interface towards the hardware engines without having to interfere with the register programming directly. on top of the core drivers, a number of sample drivers is also provided enabling communication with basic bluetooth smart application components: accelerome- ters, flash/eeprom non-v olatile memories, etc. 4.3 memories the following memories are part of the DA14580?s internal blocks: rom. this is a 84 kb rom containing the bluetooth smart protocol stack as well as the boot code sequence. otp . this is a 32 kb one-time programmable memory array, used to store the application code as well as bluetooth smart profiles. it also contains the system configuration and calibration data. system sram . this is a 42 kb system sram (sys- ram) which is primarily used for mirroring the program code from the otp when the system wakes/powers up. it also serves as data ram for inte rmediate varia- bles and various data that the protocol requires. optionally, it can be used as extra memory space for the ble tx and rx data structures. retention rams . these are 4 special low leakage sram cells (2 kb + 2 kb + 3 kb + 1 kb) used to store various data of the bluetooth smart protocol as well as the system?s global variables and processor stack when the system goes into deep sleep mode. storage of this data ensures secure and quick configuration of the ble core after the system wakes up. every cell can be powered on or off according to the application needs for retention area when in deep sleep mode. 4.4 functional modes the DA14580 is optimized for deeply embedded appli- cations such as health monitoring, sports measuring, human interaction devices et c. customers are able to develop and test their own applications. upon comple- tion of the development, the application code can be programmed into the otp. in general, the system has three functional modes of operation: a. development mode : during this phase application code is developed using the arm cortex-m0 sw envi- ronment. the compiled code is then downloaded into the system ram or any retention rams by means of swd (jtag) or any serial interface (e.g. uart). address 0x00 is remapped to the physical memory that contains the code and the cpu is configured to reset and execute code from the remapped device. this mode is enabling application development, debugging and on-the-fly testing. b. normal mode : after the application is ready and verified, the code can be burned into the otp. when the system boots/wakes up, the dma of the otp con- troller will automatically copy the program code from the otp into the system ram. next, a sw reset or a jump to the system ram occurs and code execution is started. hence, in this mode, the system is autono- mous, contains the required sw in otp and is ready for integration into the final product. c. calibration mode: between development and nor- mal mode, there is an intermediate stage where the chip needs to be calibrated with respect to two impor- tant features: ? programming of the bluetooth device address ? programming of the trimming value for the external 16 mhz crystal. this mode of operation applies to the final product and is performed by the customer. during this phase, cer- figure 6: hardware abstraction layer gpio ? driver application accelerometer ? driver spi driver uart driver spi ? flash ? driver adc driver battery driver quadrature ? eeprom i2c driver sample ? drivers core drivers timers
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 12 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final tain fields in the otp should be programmed 4.5 power modes there are four different power modes in the DA14580: ? active mode : system is active and operates at full speed. ? sleep mode : no power gating has been pro- grammed, the arm cpu is idle, waiting for an inter- rupt. pd_sys is on. pd_per and ped_rad depending on the programmed enabled value. ? extended sleep mode : all power domains are off except for the pd_aon, the programmed pd_rrx and the pd_sr. since the sysram retains its data, no otp mirroring is required upon waking up the system. ? deep sleep mode : all power domains are off except for the pd_aon and the programmed pd_rrx. this mode dissipates the minimum leakage power. however, since the sysram has not retained its data, an otp mirror action is required upon waking up the system. 4.6 interfaces 4.6.1 uarts the uart is compliant to the industry-standard 16550 and is used for serial communication with a peripheral, modem (data carrier equipment, dce) or data set. data is written from a master (cpu) over the apb bus to the uart and it is converted to serial form and transmitted to the destination device. serial data is also received by the uart and stored for the master (cpu) to read back. there is no dma support on the uart block since its contains internal fifos. both uarts support hardware flow control signals (rts, cts, dtr, dsr). features ? 16 bytes transmit and receive fifos ? hardware flow control support (cts/rts) ? shadow registers to reduce software overhead and also include a software programmable reset ? transmitter holding register empty (thre) inter- rupt mode ? irda 1.0 sir mode supporting low power mode. ? functionality based on the 16550 industry standard: ? programmable character properties, such as num- ber of data bits per character (5-8), optional ? parity bit (with odd or even select) and number of stop bits (1, 1.5 or 2) ? line break generation and detection ? prioritized interrupt identification ? programmable serial data baud rate as calculated by the following: baud rate = (serial clock frequency)/ (divisor). 4.6.2 spi+ this interface supports a s ubset of the serial periph- eral interface (spi tm ). the serial interface can transmit and receive 8, 16 or 32 bits in master/slave mode and transmit 9 bits in master mode. the spi+ interface has enhanced functionality with bidirectional 2x16-bit word fifos. spi is a trademark of motorola, inc. features ? slave and master mode ? 8 bit, 9 bit, 16 bit or 32 bit operation ? clock speeds upto 16 mhz for the spi controller. programmable output frequencies of spi source clock divided by 1, 2, 4, 8 ? spi clock line speed up to 8 mhz ? spi mode 0, 1, 2, 3 s upport (clock edge and phase) ? programmable spi_do idle level ? maskable interrupt generation ? bus load reduction by unidirectional writes-only and reads-only modes. built-in rx/tx fifos for continuous spi bursts. 4.6.3 i2c interface the i2c interface is a prog rammable control bus that provides support for the communications link between integrated circuits in a system. it is a simple two-wire bus with a software -defined protocol for system control, which is used in temperature sensors and voltage level translators to eeproms, general-purpose i/o, a/d and d/a converters. features ? two-wire i2c serial interface consists of a serial data line (sda) and a serial clock (scl) ? two speeds are supported: ? standard mode (0 to 100 kbit/s) ? fast mode (<= 400 kbit/s) ? clock synchronization ? 32 deep transmit/receive fifos ? master transmit, master receive operation ? 7 or 10-bit addressing ? 7 or 10-bit combined format transfers ? bulk transmit mode ? default slave address of 0x055 ? interrupt or polled-mode operation
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 13 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final ? handles bit and byte waiting at both bus speeds ? programmable sda hold time the 4.6.4 general purpose adc the DA14580 is equipped with a high-speed ultra low power 10-bit general purpose analog-to-digital con- verter (gpadc). it can operate in unipolar (single ended) mode as well as in bipolar (differential) mode. the adc has its own voltage regulator (ldo) of 1.2 v, which represents the full scale reference voltage. features ? 10-bit dynamic adc with 65 ns conversion time ? maximum sampling rate 3.3 msample/s ? ultra low power (5 ? a typical supply current at 100 ksample/s) ? single-ended as well as differential input with two input scales ? four single-ended or two differential external input channels ? battery monitoring function ? chopper function ? offset and zero scale adjust ? common-mode input level adjust 4.6.5 quadrature decoder this block decodes the pulse trains from a rotary encoder to provide the step and the direction of the movement of an external device. three axes (x, y, z) are supported. the integrated quadrature decoder can automatically decode the signals for the x, y and z axes of a hid input device, reporting step count and direction: the channels are expected to provide a pulse train with 90 degrees phase difference; depending on whether the reference channel is leading or lagging, the direction can be determined. this block can be used for waking up the chip as soon as there is any kind of movement from the external device connected to it. features ? three 16-bit signed counte rs that provide the step count and direction on each of the axes (x, y and z) ? programmable system clock sampling at maximum 16 mhz. ? apb interface for control and programming ? programmable source from p0, p1 and p2 ports ? digital filter on the channel inputs to avoid spikes 4.6.6 keyboard controller the keyboard controller can be used for debouncing the incoming gpio signals when implementing a key- board scanning engine. it generates an interrupt to the cpu (keybr_irq). in parallel, five extra interru pt lines can be triggered by a state change on 32 selectable gpios (gpiox_irq). features ? monitors any of the 32 available gpios (12 in the wlcsp package, 22 in the qfn40 and 32 in the qfn48) ? generates a keyboard interrupt on key press or key release ? implements debouncing time from 0 upto 63 ms ? supports five separate interrupt generation lines from gpio toggling 4.6.7 input/output ports the DA14580 has software-configurable i/o pin assignment, organized into ports port 0, port1, port2 and port 3. port 2 is only available at the qfn40 pack- age while ports 2 and 3 are available at the qfn48 package. features ? port 0: 8 pins, port 1: 6 pins (including sw_clk and swdio), port 2: 10 pins, port 3: 8 pins ? fully programmable pin assignment ? selectable 25 k ? pull-up, pull-down resistors per pin ? pull-up voltage either vbat3v (buck mode) or vbat1v (boost mode) configurable per pin ? fixed assignment for analog pin adc[3:0] ? pins retain their last state when system enters the extended or deep sleep mode. 4.7 timers 4.7.1 general purpose timers the timer block contains 2 timer modules that are soft- ware controlled, programmable and can be used for various tasks. timer 0 ? 16-bit general purpose timer ? ability to generate 2 pulse width modulated signals (pwm0 and pwm1, with common programming) ? programmable output frequency:
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 14 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final with n = 0 to (2 16 -1), m = 0 to (2 16 -1) ? programmable duty cycle: ? separately programmable interrupt timer: timer 2 ? 14-bit general purpose timer ? ability to generate 3 pulse width modulated signals (pwm2, pwm3 and pwm4) ? input clock frequency: with n = 1, 2, 4 or 8 and sys_clk = 16 mhz or 32 khz ? programmable output frequency: ? three outputs with programmable duty cycle from 0 % to 100 % ? used for white led intensity (on/off) control 4.7.2 wake-up timer the wake-up timer can be programmed to wake up the DA14580 from power down mode after a prepro- grammed number of gpio events. features ? monitors any gpio state change ? implements debouncing time from 0 upto 63 ms ? accumulates external events and compares the number to a programmed value ? generates an interrupt to the cpu a minimum pulse duration of 2 sleep clock cycles must be applied to the gpio to ensure a successful system wake-up. 4.7.3 watchdog timer the watchdog timer is an 8-bit timer with sign bit that can be used to detect an unexpected execution sequence caused by a software run-away and can generate a full system reset or a non-maskable inter- rupt (nmi). features ? 8 bits down counter with sign bit, clocked with a 10.24 ms clock for a maximum 2.6 s time-out. ? non-maskable interrupt (nmi) or wdog reset. ? optional automatic wdog reset if nmi handler fails to update the watchdog register. ? non-maskable watchdog freeze of the cortex-m0 debug module when the cortex-m0 is halted in debug state. maskable watchdog freeze by user program. note that if the system is not rem apped, i.e. sysram is at address 0x20000000, then a watchdog fire will trigger the bootrom code to be executed again. 4.8 clock/reset 4.8.1 clocks the digital controlled xtal oscillator (dxco) is a pierce configured type of oscillator designed for low power consumption and high stability. there are two such crystal oscillators in the system, one at 16 mhz(xtal16m) and a second at 32.768 khz (xtal32k). the 32.768 khz oscillator has no trimming capabilities and is used as the clock of the extended/ deep sleep modes. the 16 mhz oscillator can be trimmed. the principle schematic of th e two oscillators is shown in figure 7 below. no external components to the DA14580 are required other than the crystal itself. if the crystal has a case connect ion, it is advised to con- nect the case to ground. f 16, 8, 4, 2 mhz or 32 khz ?? m1 + ?? n1 + ?? + ------------------------------------------------------------------------ = ? m1 + m1 + ?? n1 + ?? + -------------------------------------------- 100 ? % = t 16, 8, 4, 2 mhz or 32 khz ?? on 1 + ?? ------------------------------------------------------------------------ = f in sys_clk n ------------------- = f out f in 2 ------ ?? ?? to f in 2 14 1 ? ----------------- - ?? ?? ?? =
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 15 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final there are 3 rc oscillators in the DA14580: one provid- ing 16 mhz (rc16m), one providing 32 khz (rc32k) and one providing a frequency in the range of 10.5 khz (rcx). 4.8.2 reset the DA14580 comprises an rst pad which is active high. it contains an rc filter for spikes suppression with 400 k ? and 2.8 pf for the resistor and the capaci- tor respectively. it also contains a 25 k ? pull-down resistor. this pad should be connected to ground if not needed by the application. the typical latency of the rst pad is in the range of 2 ? s. 4.9 power management the DA14580 has a complete power management function integrated with buck or boost dc-dc con- verter and separate ldos for the different power domains of the system. features ? on-chip ldos, without external capacitors ? synchronous dc-dc converter which can be config- ured as either: ? boost (step-up) converter, starting from 0.9 v, when running from an alkaline/nimh cell. ? buck (step-down) converter for increased effi- ciency when running from a lithium coin-cell or 2 alkaline batteries down to 2.35 v. ? battery voltage measurement adc (multiplexed input from general purpose adc) ? use of small external components (2.2 ? h inductor and 1 ?? f capacitor) the power block contains a dc-dc converter which can be configured to operate as a step-up or a step- down converter. the converter provides power to four ldo groups in the system: 1. ldo ret: this is the ldo providing power to the retention domain (pd_aon). it powers the retention rams and the digital part which is always on. 2. ldo otp: this is the ldo powering the otp macro cell. this is the reason for using the step-up dc-dc converter when running from an alkaline battery. 3. ldo sys: this is the ldo providing the system with the actual vdd power required for the digital part to operate. note that the power block implements seam- less switching from the ldo sys to the ldo ret when the system ente rs deep sleep mode. in the latter case, a low voltage is applied to the pd_aon power domain to further reduce leakage. 4. ldo (various): this a group of ldos used for the elaborate control of the powering up/down of the radio, the gp adc and the xtal16m oscillator. there are two ways of connecting external batteries to the power block of the DA14580. they depend on the specific battery cell used and its voltage range. battery cells are distinguished into lithium coin cells (2.35 v to 3.3 v) and alkaline cells (1.0 v to 1.8 v). the connec- tion diagrams are presented in figure 9 and figure 8 respectively: figure 7: crystal oscillator circuits xtal16mp clock16mhz xtal16mm 16 mhz xtal32kp clock32khz xtal32km 32.768 khz 0-22.4 pf
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 16 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final the usage of boost or buck mode with respect to the provided voltage ranges is illustrated in the following figure which also illustrates the efficiency of the engine assuming a 10 ma constant load. figure 8: supply overview, coin-cell application buck converter ldo vbat1v switch vbat3v vdcdc ldo ldo lithium coin-cell digital analog/rf retention 2.35 v to 3.3 v DA14580 vdcdc_rf vbat_rf analog/rf figure 9: supply overview, alkaline-cell application boost converter on ldo vbat1v switch vbat3v vdcdc ldo ldo digital 0.9 v to 2.0 v < 0.9 v analog/rf retention alkaline or nimh DA14580 internal supply for boost conv. vdcdc_rf vbat_rf
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 17 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final the x axis represents the supply voltage. boost mode should be used when voltage ranges from 0.9 v to 2.0 v to sustain a decent efficiency over 70 %. from that point on, the power dissipation becomes quite large. buck mode can operate correctly with voltages in the range of 2.35 v to 3.3 v. there are two voltage areas in figure 10 designated by dashed lines. the first one (0 v to 0.9 v) indicates that the DA14580 is not operational when the voltage is below 0.9 v. this is the absolute threshold for the dc- dc converter boost mode. the second area (1.8 v to 2.2 v) indicates that deep sleep mode is not allowed when the dc-dc converter is configured in buck mode and the voltage is within this range, because the otp will not be readable any more. however, this part of the voltage range can be covered by the boost mode. furthermore, when buck mode is mandatory, extended sleep mode can be activated instead of deep sleep mode, thus not using the otp for the code mirroring but retain the code in sysram. note: the system should never be cold booted when the supply voltage is less than 2.5 v. a manual power up with a power supply less than 2.5 v in buck mode might create instability. figure 10: dc-dc efficiency in buck/boos t mode at various voltage levels 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 00.511.522.533.5 dc \ dc ? efficiency ? vs ? voltage buck boost boost ? (vout ? > ? 1.4 ? v) 1.8 0.9 2.35
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 18 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 5registers this section contains a detailed view of the DA14580 register s. it is organized as follows: an overview table is pre- sented initially, which depicts all register names, addresses and descriptions. a detailed bit level description of each register follows. the register file of the arm cortex-m0 can be found in the following documents, available on the arm website: devices generic user guide: dui0497a_cortex_m0_r0p0_generic_ug.pdf technical reference manual: ddi0432c_cortex_m0_r0p0_trm.pdf these documents contain the register descriptions for the nested vectored interrupt controller (nvic), the system control block (scb) and the system timer (systick).
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 19 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 5: register map address port description 0x40008000 otpc_mode_reg mode register 0x40008004 otpc_pctrl_reg bit-programming control register 0x40008008 otpc_stat_reg status register 0x4000800c otpc_ahbadr_reg ahb master start address 0x40008010 otpc_celadr_reg macrocell start address 0x40008014 otpc_nwords_reg number of words 0x40008018 otpc_ffprt_reg ports access to fifo logic 0x4000801c otpc_ffrd_reg latest read data from the otpc_ffprt_reg 0x50000000 clk_amba_reg hclk, pclk, divider and clock gates 0x50000002 clk_freq_trim_reg xtal frequency trimming register 0x50000004 clk_per_reg peripheral divider register 0x50000008 clk_radio_reg radio pll control register 0x5000000a clk_ctrl_reg clock control register 0x50000010 pmu_ctrl_reg power management unit control register 0x50000012 sys_ctrl_reg syst em control register 0x50000014 sys_stat_reg syst em status register 0x50000016 trim_ctrl_reg control trimming of the xtal16m 0x50000020 clk_32k_reg 32 khz oscillator register 0x50000022 clk_16m_reg 16 mhz rc-oscillator register 0x50000024 clk_rcx20k_reg 20 khz rxc-oscillator control register 0x50000028 bandgap_reg bandgap trimming 0x5000002a ana_status_reg status bit of analog (power management) circuits 0x50000100 wkup_ctrl_reg control r egister for the wakeup counter 0x50000102 wkup_compare_reg number of events before wakeup interrupt 0x50000104 wkup_reset_irq_reg reset wakeup interrupt 0x50000106 wkup_counter_reg actual number of events of the wakeup counter 0x50000108 wkup_reset_cntr_reg reset the event counter 0x5000010a wkup_select_p0_reg select which inputs from p0 port can trigger wkup counter 0x5000010c wkup_select_p1_reg select which inputs from p1 port can trigger wkup counter 0x5000010e wkup_select_p2_reg select which inputs from p2 port can trigger wkup counter 0x50000110 wkup_select_p3_reg select which inputs from p3 port can trigger wkup counter 0x50000112 wkup_pol_p0_reg select the sensitivity polarity for each p0 input 0x50000114 wkup_pol_p1_reg select the sensitivity polarity for each p1 input 0x50000116 wkup_pol_p2_reg select the sensitivity polarity for each p2 input 0x50000118 wkup_pol_p3_reg select the sensitivity polarity for each p3 input 0x50000200 qdec_ctrl_reg quad decoder control register 0x50000202 qdec_xcnt_reg counter value of the x axis 0x50000204 qdec_ycnt_reg counter value of the y axis 0x50000206 qdec_clockdiv_reg clock divider register 0x50000208 qdec_ctrl2_reg quad decoder control register
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 20 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0x5000020a qdec_zcnt_reg z_counter 0x50001000 uart_rbr_thr_dll_reg receive buffer register 0x50001004 uart_ier_dlh_reg interrupt enable register 0x50001008 uart_iir_fcr_reg interrupt identif ication register/fifo control register 0x5000100c uart_lcr_reg line control register 0x50001010 uart_mcr_reg modem control register 0x50001014 uart_lsr_reg line status register 0x50001018 uart_msr_reg modem status register 0x5000101c uart_scr_reg scratchpad register 0x50001020 uart_lpdll_reg low power divisor latch low 0x50001024 uart_lpdlh_reg low power divisor latch high 0x50001030 uart_srbr_sthr0_reg shadow receive/transmit buffer register 0x50001034 uart_srbr_sthr1_reg shadow receive/transmit buffer register 0x50001038 uart_srbr_sthr2_reg shadow receive/transmit buffer register 0x5000103c uart_srbr_sthr3_reg shadow receive/transmit buffer register 0x50001040 uart_srbr_sthr4_reg shadow receive/transmit buffer register 0x50001044 uart_srbr_sthr5_reg shadow receive/transmit buffer register 0x50001048 uart_srbr_sthr6_reg shadow receive/transmit buffer register 0x5000104c uart_srbr_sthr7_reg shadow receive/transmit buffer register 0x50001050 uart_srbr_sthr8_reg shadow receive/transmit buffer register 0x50001054 uart_srbr_sthr9_reg shadow receive/transmit buffer register 0x50001058 uart_srbr_sthr10_reg shadow receive/transmit buffer register 0x5000105c uart_srbr_sthr11_reg shadow receive/transmit buffer register 0x50001060 uart_srbr_sthr12_reg shadow receive/transmit buffer register 0x50001064 uart_srbr_sthr13_reg shadow receive/transmit buffer register 0x50001068 uart_srbr_sthr14_reg shadow receive/transmit buffer register 0x5000106c uart_srbr_sthr15_reg shadow receive/transmit buffer register 0x5000107c uart_usr_reg uart status register. 0x50001080 uart_tfl_reg transmit fifo level 0x50001084 uart_rfl_reg receive fifo level. 0x50001088 uart_srr_reg software reset register. 0x5000108c uart_srts_reg shadow request to send 0x50001090 uart_sbcr_reg shadow break control register 0x50001094 uart_sdmam_reg shadow dma mode 0x50001098 uart_sfe_reg shadow fifo enable 0x5000109c uart_srt_reg shadow rcvr trigger 0x500010a0 uart_stet_reg shadow tx empty trigger 0x500010a4 uart_htx_reg halt tx 0x500010f4 uart_cpr_reg component parameter register 0x500010f8 uart_ucv_reg component version 0x500010fc uart_ctr_reg component type register 0x50001100 uart2_rbr_thr_dll_reg receive buffer register 0x50001104 uart2_ier_dlh_reg interrupt enable register 0x50001108 uart2_iir_fcr_reg interrupt ident ification register/fifo control register table 5: register map address port description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 21 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0x5000110c uart2_lcr_reg line control register 0x50001110 uart2_mcr_reg modem control register 0x50001114 uart2_lsr_reg line status register 0x50001118 uart2_msr_reg modem status register 0x5000111c uart2_scr_reg scratchpad register 0x50001120 uart2_lpdll_reg low power divisor latch low 0x50001124 uart2_lpdlh_reg low power divisor latch high 0x50001130 uart2_srbr_sthr0_reg shadow receive/transmit buffer register 0x50001134 uart2_srbr_sthr1_reg shadow receive/transmit buffer register 0x50001138 uart2_srbr_sthr2_reg shadow receive/transmit buffer register 0x5000113c uart2_srbr_sthr3_reg shadow receive/transmit buffer register 0x50001140 uart2_srbr_sthr4_reg shadow receive/transmit buffer register 0x50001144 uart2_srbr_sthr5_reg shadow receive/transmit buffer register 0x50001148 uart2_srbr_sthr6_reg shadow receive/transmit buffer register 0x5000114c uart2_srbr_sthr7_reg shadow receive/transmit buffer register 0x50001150 uart2_srbr_sthr8_reg shadow receive/transmit buffer register 0x50001154 uart2_srbr_sthr9_reg shadow receive/transmit buffer register 0x50001158 uart2_srbr_sthr10_reg shadow receive/transmit buffer register 0x5000115c uart2_srbr_sthr11_reg shadow receive/transmit buffer register 0x50001160 uart2_srbr_sthr12_reg shadow receive/transmit buffer register 0x50001164 uart2_srbr_sthr13_reg shadow receive/transmit buffer register 0x50001168 uart2_srbr_sthr14_reg shadow receive/transmit buffer register 0x5000116c uart2_srbr_sthr15_reg shadow receive/transmit buffer register 0x5000117c uart2_usr_reg uart status register. 0x50001180 uart2_tfl_reg transmit fifo level 0x50001184 uart2_rfl_reg receive fifo level. 0x50001188 uart2_srr_reg software reset register. 0x5000118c uart2_srts_reg shadow request to send 0x50001190 uart2_sbcr_reg shadow break control register 0x50001194 uart2_sdmam_reg shadow dma mode 0x50001198 uart2_sfe_reg shadow fifo enable 0x5000119c uart2_srt_reg shadow rcvr trigger 0x500011a0 uart2_stet_reg shadow tx empty trigger 0x500011a4 uart2_htx_reg halt tx 0x500011f4 uart2_cpr_reg component parameter register 0x500011f8 uart2_ucv_reg component version 0x500011fc uart2_ctr_reg component type register 0x50001200 spi_ctrl_reg spi control register 0 0x50001202 spi_rx_tx_reg0 spi rx/tx register0 0x50001204 spi_rx_tx_reg1 spi rx/tx register1 0x50001206 spi_clear_int_reg spi clear interrupt register 0x50001208 spi_ctrl_reg1 spi control register 1 0x50001300 i2c_con_reg i2c control register 0x50001304 i2c_tar_reg i2c target address register table 5: register map address port description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 22 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0x50001308 i2c_sar_reg i2c slave address register 0x50001310 i2c_data_cmd_reg i2c rx/tx data buffer and command register 0x50001314 i2c_ss_scl_hcnt_reg standard speed i2c clock scl high count register 0x50001318 i2c_ss_scl_lcnt_reg standard speed i2c clock scl low count register 0x5000131c i2c_fs_scl_hcnt_reg fast spe ed i2c clock scl high count register 0x50001320 i2c_fs_scl_lcnt_reg fast speed i2c clock scl low count register 0x5000132c i2c_intr_stat_reg i2c interrupt status register 0x50001330 i2c_intr_mask_reg i2c interrupt mask register 0x50001334 i2c_raw_intr_stat_reg i2c raw interrupt status register 0x50001338 i2c_rx_tl_reg i2c receive fifo threshold register 0x5000133c i2c_tx_tl_reg i2c transmit fifo threshold register 0x50001340 i2c_clr_intr_reg clear combined and individual interrupt register 0x50001344 i2c_clr_rx_under_reg clear rx_under interrupt register 0x50001348 i2c_clr_rx_over_reg clear rx_over interrupt register 0x5000134c i2c_clr_tx_over_reg clear tx_over interrupt register 0x50001350 i2c_clr_rd_req_reg clear rd_req interrupt register 0x50001354 i2c_clr_tx_abrt_reg clear tx_abrt interrupt register 0x50001358 i2c_clr_rx_done_reg clear rx_done interrupt register 0x5000135c i2c_clr_activity_reg clear activity interrupt register 0x50001360 i2c_clr_stop_det_reg clear stop_det interrupt register 0x50001364 i2c_clr_start_det_reg clear start_det interrupt register 0x50001368 i2c_clr_gen_call_reg clear gen_call interrupt register 0x5000136c i2c_enable_reg i2c enable register 0x50001370 i2c_status_reg i2c status register 0x50001374 i2c_txflr_reg i2c transmit fifo level register 0x50001378 i2c_rxflr_reg i2c receive fifo level register 0x5000137c i2c_sda_hold_reg i2c sda hold time length register 0x50001380 i2c_tx_abrt_source_reg i2c transmit abort source register 0x50001394 i2c_sda_setup_reg i2c sda setup register 0x50001398 i2c_ack_general_call_reg i2c ack general call register 0x5000139c i2c_enable_status_reg i2c enable status register 0x500013a0 i2c_ic_fs_spklen_r eg i2c ss and fs spike suppression limit size 0x50001400 gpio_irq0_in_sel_reg gpio interrupt selection for gpio_irq0 0x50001402 gpio_irq1_in_sel_reg gpio interrupt selection for gpio_irq1 0x50001404 gpio_irq2_in_sel_reg gpio interrupt selection for gpio_irq2 0x50001406 gpio_irq3_in_sel_reg gpio interrupt selection for gpio_irq3 0x50001408 gpio_irq4_in_sel_reg gpio interrupt selection for gpio_irq4 0x5000140c gpio_debounce_reg debounce counter value for gpio inputs 0x5000140e gpio_reset_irq_reg gpio interrupt reset register 0x50001410 gpio_int_level_ctrl_reg high or low level select for gpio interrupts 0x50001412 kbrd_irq_in_sel0_reg gpio inte rrupt selection for kbrd_irq for p0 0x50001414 kbrd_irq_in_sel1_reg gpio interrupt selection for kbrd_irq for p1 and p2 0x50001416 kbrd_irq_in_sel2_reg gpio inte rrupt selection for kbrd_irq for p3 0x50001500 gp_adc_ctrl_reg general purpose adc control register table 5: register map address port description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 23 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0x50001502 gp_adc_ctrl2_reg general purpose adc second control register 0x50001504 gp_adc_offp_reg general purpose adc positive offset register 0x50001506 gp_adc_offn_reg general pur pose adc negative offset register 0x50001508 gp_adc_clear_int_reg general purpose adc clear interrupt register 0x5000150a gp_adc_result_reg genera l purpose adc result register 0x5000150c gp_adc_delay_reg general purpose adc delay register 0x5000150e gp_adc_delay2_reg general purpose adc second delay register 0x50001600 clk_ref_sel_reg select clock for oscillator calibration 0x50001602 clk_ref_cnt_reg count value for oscillator calibration 0x50001604 clk_ref_val_l_reg xtal16m reference cycles, lower 16 bits 0x50001606 clk_ref_val_h_reg xtal16m reference cycles, upper 16 bits 0x50003000 p0_data_reg p0 data input / output register 0x50003002 p0_set_data_reg p0 set port pins register 0x50003004 p0_reset_data_reg p0 reset port pins register 0x50003006 p00_mode_reg p00 mode register 0x50003008 p01_mode_reg p01 mode register 0x5000300a p02_mode_reg p02 mode register 0x5000300c p03_mode_reg p03 mode register 0x5000300e p04_mode_reg p04 mode register 0x50003010 p05_mode_reg p05 mode register 0x50003012 p06_mode_reg p06 mode register 0x50003014 p07_mode_reg p07 mode register 0x50003020 p1_data_reg p1 data input / output register 0x50003022 p1_set_data_reg p1 set port pins register 0x50003024 p1_reset_data_reg p1 reset port pins register 0x50003026 p10_mode_reg p10 mode register 0x50003028 p11_mode_reg p11 mode register 0x5000302a p12_mode_reg p12 mode register 0x5000302c p13_mode_reg p13 mode register 0x5000302e p14_mode_reg p14 mode register 0x50003030 p15_mode_reg p15 mode register 0x50003040 p2_data_reg p2 data input / output register 0x50003042 p2_set_data_reg p2 set port pins register 0x50003044 p2_reset_data_reg p2 reset port pins register 0x50003046 p20_mode_reg p20 mode register 0x50003048 p21_mode_reg p21 mode register 0x5000304a p22_mode_reg p22 mode register 0x5000304c p23_mode_reg p23 mode register 0x5000304e p24_mode_reg p24 mode register 0x50003050 p25_mode_reg p25 mode register 0x50003052 p26_mode_reg p26 mode register 0x50003054 p27_mode_reg p27 mode register 0x50003056 p28_mode_reg p28 mode register 0x50003058 p29_mode_reg p29 mode register table 5: register map address port description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 24 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0x50003070 p01_padpwr_ctrl_reg ports 0 and 1 output power control register 0x50003072 p2_padpwr_ctrl_reg port 2 output power control register 0x50003074 p3_padpwr_ctrl_reg port 3 output power control register 0x50003080 p3_data_reg p3 data input / output register 0x50003082 p3_set_data_reg p3 set port pins register 0x50003084 p3_reset_data_reg p3 reset port pins register 0x50003086 p30_mode_reg p30 mode register 0x50003088 p31_mode_reg p31 mode register 0x5000308a p32_mode_reg p32 mode register 0x5000308c p33_mode_reg p33 mode register 0x5000308e p34_mode_reg p34 mode register 0x50003090 p35_mode_reg p35 mode register 0x50003092 p36_mode_reg p36 mode register 0x50003094 p37_mode_reg p37 mode register 0x50003100 watchdog_reg watchdog timer register. 0x50003102 watchdog_ctrl_reg watchdog control register. 0x50003200 chip_id1_reg chip identification register 1. 0x50003201 chip_id2_reg chip identification register 2. 0x50003202 chip_id3_reg chip identification register 3. 0x50003203 chip_swc_reg softwar e compatibility register. 0x50003204 chip_revision_reg chip revision register. 0x50003300 set_freeze_reg controls freezing of various timers/counters. 0x50003302 reset_freeze_reg controls unfr eezing of various timers/counters. 0x50003304 debug_reg various debug information register. 0x50003306 gp_status_reg general purpo se system status register. 0x50003308 gp_control_reg general pur pose system control register. 0x50003400 timer0_ctrl_reg timer0 control register 0x50003402 timer0_on_reg tim er0 on control register 0x50003404 timer0_reload_m_reg 16 bits reload value for timer0 0x50003406 timer0_reload_n_reg 16 bits reload value for timer0 0x50003408 pwm2_duty_cycle duty cycle for pwm2 0x5000340a pwm3_duty_cycle duty cycle for pwm3 0x5000340c pwm4_duty_cycle duty cycle for pwm4 0x5000340e triple_pwm_frequency frequency for pwm 2,3 and 4 0x50003410 triple_pwm_ctrl_reg pwm 2 3 4 control table 6: otpc_mode_reg (0x40008000) bit mode symbol description reset 31:30 - - reserved 0x0 table 5: register map address port description
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 25 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 29:28 r/w otpc_mode_prg_ port_mux selects the source that is connected to the prg_port port of the controller. 00 - {16'd0, bandgap_reg[15:0]} 01 - {rf_rssi_comp_ctrl_reg[15:0], 8'd0, rfio_ctrl1_reg{7:0]} 10 - {3'd0, rf_lna_ctrl3_reg[4:0], rf_lna_ctrl2_reg[11:0], rf_lna_ctrl1_reg[11:0]} 11 - {28'd0, rf_vco_ctrl_reg[3:0]} see otpc_mode_prg_port_sel about the use of the prg_port 0x0 27:9 - - reserved 0x0 8 r/w optc_mode_prg_ fast defines the timing that will be used for all the programming activities (aprog, mprog and twr) 0 - selects the normal timing 1 - selects the fast timing 0 7 r/w otpc_mode_prg_ port_sel selects an alternative data source for the programming of the otp macrocells, when the controller is configured in aprog mode. 0 - the fifo will be used as the data source. the fifo will be filled with a way defined by the register otpc_mode_use_dma. the number of words that will be programmed is defined by otpc_nwords. 1 - only one word will programmed. the value of the word is contained in the prg_port port of the controller. the values of the registers otpc_mode_use_dma, otpc_nwords and the contents of the fifo will not be used. 0x0 6 r/w otpc_mode_two _cc_acc defines the duration of each read from the otp macrocells. 0 - reads 16 bits of data every one clock cycle. 1 - reads 16 bits of data every two clock cycles. 0x0 5 r/w otpc_mode_fifo _flush writing 1, removes any conten t from the fifo. this bit returns automatically to 0. 0x0 4 r/w otpc_mode_use_ dma selects the use of the dma, wh en the controller is configured in one of the modes: aread or aprog. 0 - dmais not used. the data should be transfered from/to controller through otpc_ffprt_reg 1 - dma is used. data transfe rs from/to controller are per- formed automatically. the ahb base address should be con- figured in otpc_ahbadr_reg before the selection of the mode. if programming of the otpc_mode_reg is performed through the serial interf ace,the otpc_mode_use_dma will be set to 0 automatically. if the controller is in aprog mode and the otpc_mode_prg_port_sel is enabled, the dma will stay inactive. 0x0 3 - - reserved 0x0 table 6: otpc_mode_reg (0x40008000) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 26 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 2:0 r/w otpc_mode_mod e defines the mode of operation of the otpc controller. the encoding of the modes is as follows: 000 - stby mode 001 - mread mode 010 - mprog mode 011 - aread mode 100 - aprog mode 101 - test mode. reserved 110 - test mode. reserved 111 - test mode. reserved to manually move between modes, always return to stby mode first. 0x0 table 6: otpc_mode_reg (0x40008000) bit mode symbol description reset table 7: otpc_pctrl_reg (0x40008004) bit mode symbol description reset 31:28 - - reserved 0x0 27 r/w otpc_pctrl_enu enables the programming in the upper bank of the otp. 0 - programming sequence is not applied in the upper bank. 1 - programming sequence is applied in the upper bank. 0x0 26 r/w otpc_pctrl_bitu defines the value of the selected bit in the upper bank, after the programming sequence. 0x0 25 r/w otpc_pctrl_enl enables the programming in the lower bank. 0 - the programming sequence is not applied in the lower bank. 1 -the programming sequence is applied in the lower bank. 0x0 24 r/w otpc_pctrl_bitl defines the value of the selected bit in the lower bank, after the programming sequence. 0x0 23 r/w otpc_pctrl_bse lu selects between the u1 and u0 byte for the programming sequence in the upper bank. 0 - program the u0 byte 1 - program the u1 byte 0x0 22:20 r/w otpc_pctrl_bad ru selects the bit inside the ux (x=0,1) byte, which will be pro- grammed in the upper bank. 0x0 19 r/w otpc_pctrl_bse ll selects between the l1 and l0 byte for the programming sequence in the lower bank. 0 - program the l0 byte 1 - program the l1 byte 0x0 18:16 r/w otpc_pctrl_bad rl selects the bit inside the lx (x=0,1) byte, which will be pro- grammed in the lower bank. 0x0 15:13 - - reserved 0x0 12:0 r/w otpc_pctrl_wad dr defines the address of a 32 bits word {u1,l1,u0,l0} in the macrocells, where one or two bits will be programmed. there are two macrocell banks, with 8 bits each. each bank contribute with two memory positions for each 32 bits word. the ux, lx represent the bytes of the upper and lower bank respectively. 0x0 table 8: otpc_stat_reg (0x40008008) bit mode symbol description reset 31:29 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 27 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 28:16 r otpc_stat_nwor ds contains the current value of the words to be processed. 0 15 r otpc_stat_terr_ u indicates the upper bank as the source of a test error. this value is valid when otpc_stat_terror is valid. 0 - there is no test error in the upper bank 1 - a test error has occured in the upper bank 0x0 14 r otpc_stat_terr_ l indicates the lower bank as the source of a test error. the value is valid when otpc_stat_terror is valid. 0 - there is no test error in the lower bank 1 - a test error has occured in the lower bank 0x0 13 r otpc_stat_perr_ u indicates the upper bank as the source of a programming error. the value is valid when otpc_stat_perror is valid. 0 - there is no programming error in the upper bank 1 - a programming error has occured in the upper bank 0x0 12 r otpc_stat_perr_ l indicates the lower bank as the source of a programming error. the value is valid when otpc_stat_perror is valid. 0 - there is no programming error in the lower bank 1 - a programming error has occured in the lower bank 0x0 11:8 r otpc_stat_fwor ds indicates the number of words which contained in the fifo of the controller. 0x0 7:5 - - reserved 0x0 4 r otpc_stat_ardy monitors the progress of read or programming operations while in the aread or aprog modes. 0 - the controller is busy while reading or programming (aread or aprog modes). 1 - the controller is not busy in aread or aprog mode. 0x1 3rotpc_stat_terr or indicates the result of a test sequence. should be checked after the end of a tblank, tdec and twr mode (otpc_stat_trdy= 1). 0 - the test sequence ends with no error. 1 - the test sequence has failed. 0x0 2 r otpc_stat_trdy indicates the state of a test mode. should be used to monitor the progress of the tblank, tdec and twr modes. 0 - the controller is busy. a test mode is in progress. 1 - there is no active test mode. 0x1 1 r otpc_stat_perr or indicates that an error has occurred during the bit-program- ming process. 0 - no error during the bit-programming process. 1 - the process of bit-programming failed. when the controller is in mprog mode, this bit should be checked after the end of the programming process (otpc_stat_prdy= 1). during aprog mode, the value of this field is normal to change periodically. upon finishing the operation in the aprog mode (otpc_stat_ardy= 1), this field indicates if the programming has failed or ended succesfully. 0x0 0 r otpc_stat_prdy indicates the state of a bit-programming process. 0 - the controller is busy. a bit-programming is in progress 1 - the logic which performs bit-programming is idle. when the controller is in mprog mode, this bit should be used to monitor the progress of a programming request. during aprog mode, the value of this field it is normal to changing periodically. 0x1 table 8: otpc_stat_reg (0x40008008) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 28 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 9: otpc_ahbadr_reg (0x4000800c) bit mode symbol description reset 31:2 r/w otpc_ahbadr tthe ahb address used by the ahb master interface of the controller ( bits [31:2]). 0x0 1:0 - - reserved 0x0 table 10: otpc_celadr_reg (0x40008010) bit mode symbol description reset 31:13 - - reserved 0x0 12:0 r/w otpc_celadr defines a word address inside the macrocell. used in modes aread and aprog and is automatically updated. 0x0 table 11: otpc_nwords_reg (0x40008014) bit mode symbol description reset 31:13 - - reserved 0x0 12:0 r/w otpc_nwords the number of words (minus one) for reading/programming during the aread/aprog mode. if in aprog mode, and the otpc_mode_prg_port_sel is enabled (=1), this regis- ter will not be used and will stay unchanged. during mirroring, this register reflects the current amount of data that will be copied. it keep s its value until be written by the software with a new value. the number of the words that remaining to be processed by the controller is contained in the field otpc_stat_nwords. 0x0 table 12: otpc_ffprt_reg (0x40008018) bit mode symbol description reset 31:0 r/w otpc_ffprt provides access to the fi fo through an access port. write this register with the corresponding data, when the aprog mode is selected and the dma is disabled. read from this register the corresponding data, when the aread mode is selected and the dma is disabled. check otpc_stat_fwords register for data/space avail- ability, before accessing the fifo. 0x0 table 13: otpc_ffrd_reg (0x4000801c) bit mode symbol description reset 31:0 r otpc_ffrd contains the value read from the fifo, after a read of the otpc_ffprt_reg register. 0x0 table 14: clk_amba_reg (0x50000000) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w otp_enable clock enable for otp controller 0x0 6 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 29 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 5:4 r/w pclk_div apb interface clock (pclk). divider is cascaded with hclk_div. pclk is hclk divided by: 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 0x2 3:2 - - reserved 0x0 1:0 r/w hclk_div ahb interface and microprocessor clock (hclk). hclk is source clock divided by: 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 0x2 table 14: clk_amba_reg (0x50000000) bit mode symbol description reset table 15: clk_freq_trim_reg (0x50000002) bit mode symbol description reset 15:11 - - reserved 0x0 10:8 r/w coarse_adj xtal frequency course trimming register. 0x0: lowest frequency 0x7: highest frequencyincrem ent or decrement the binary value with 1. wait approximately 200 us to allow the adjust- ment to settle. 0x0 7:0 r/w fine_adj xtal frequency fine trimming register. 0x00: lowest frequency 0xff: highest frequency 0x0 table 16: clk_per_reg (0x50000004) bit mode symbol description reset 15 r/w quad_enable enable the quadrature clock 0x0 14:12 - - reserved 0x0 11 r/w spi_enable enable spi clock 0x0 10 - - reserved 0x0 9:8 r/w spi_div division factor for spi 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 0x0 7 r/w uart1_enable enable uart1 clock 0x0 6 r/w uart2_enable enable uart2 clock 0x0 5 r/w i2c_enable enable i2c clock 0x0 4 r/w wakeupct_enabl e enable wakeup capturetimer clock 0x0 3 r/w tmr_enable enable timer0 and timer2 clock 0x0 2 - - reserved 0x0 1:0 r/w tmr_div division factor for timer0 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 30 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 17: clk_radio_reg (0x50000008) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w ble_enable enable the ble core clocks 0x0 6 r/w ble_lp_reset reset for the ble lp timer 0x1 5:4 r/w ble_div division factor for ble core blocks 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 the programmed frequency should not be lower than 8 mhz and not faster than the programmed cpu clock frequency. refer also to ble_ cntl2_reg[ble_clk_sel]. 0x0 3 r/w rfcu_enable enable the rf control unit clock 0x0 2 - - reserved 0x0 1:0 r/w rfcu_div division fact or for rf control unit 0x0: divide by 1 0x1: divide by 2 0x2: divide by 4 0x3: divide by 8 the programmed frequency must be exactly 8 mhz. 0x0 table 18: clk_ctrl_reg (0x5000000a) bit mode symbol description reset 15:8 - - reserved 0x0 7 r running_at_xtal 16m indicates that the xtal16m clock is used as clock, and may not be switched off 0x1 6 r running_at_rc16 m indicates that the rc16m cl ock is used as clock 0x0 5 r running_at_32k indicates that either the rc32k or xtal32k is being used as clock 0x0 4 - - reserved 0x0 3 r/w xtal16m_spike_fl t_disable disable spikefilter in digital clock 0x0 2 r/w xtal16m_disable setting this bit instantaneously disables the 16 mhz crystal oscillator. also, after sleep/wakeup cycle, the oscillator will not be enabled. this bit may not be set to '1'when "running_at_xtal16m is '1' to prevent deadlock. after resetting this bit, wait for xtal16_settled or xtal16_trim_ready to become '1' before switching to xtal16 clock source. 0x0 1:0 r/w sys_clk_sel selects the clock source. 0x0: xtal16m (check the xtal16_settled and xtal16_trim_ready bits!!) 0x1: rc16m 0x2/0x3: either rc32k or xtal32k is used 0x0 table 19: pmu_ctrl_reg (0x50000010) bit mode symbol description reset 15:12 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 31 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 11:8 r/w retention_mode select the retai nability of the 4 retention ram macros. '1' is retainable, '0' is power gated. (3) is retram4 (2) is retram3 (1) is retram2 (0) is retram1 0x0 7 r/w force_boost force the dcdc into boost mode at next wakeup. setting this bit reduces the deepsleep current. force_boost has highest priority. when either force_boost or force_buck have been written, these bits cannot be changed. 0x0 6 r/w force_buck force the dcdc into buck mode at next wakeup. setting this bit reduces the deepsleep current. force_boost has highest priority. when either force_boost or force_buck have been written, these bits cannot be changed. 0x0 5:4 r/w otp_copy_div sets the hclk di vision during otp mirroring 0x0 2 r/w radio_sleep put the digital part of the radio in powerdown 0x1 1 r/w periph_sleep put all peripherals (i2c, uart, spi, adc) in powerdown 0x1 0 r/w reset_on_wakeu p perform a hardware reset after waking up. booter will be started. 0x0 table 19: pmu_ctrl_reg (0x50000010) bit mode symbol description reset table 20: sys_ctrl_reg (0x50000012) bit mode symbol description reset 15 w sw_reset writing a '1' to this bit will reset the device, except for: sys_ctrl_reg clk_freq_trim_reg ... 0x0 9 r/w timeout_disable disables timeout in power statemachine. by default, the statemachine continues if after 2 ms the blocks are not started up. this can be read back from ana_status_reg. 0x0 8 - - reserved 0x0 7 r/w debugger_enabl e enable the debugger. this bit is set by the booter according to the otp header. if not set, the swdio and sw_clk can be used as gpio ports. 0x0 6 r/w otpc_reset_req reset request for the otp controller. 0x0 5 r/w pad_latch_en latches the control signals of the pads for state retention in powerdown mode. 0: control signals are retained 1: latch is transparant, pad can be recontrolled 0x1 4 r/w otp_copy enables otp to sysram copy action after waking up pd_sys 0x0 3 r/w clk32_source sets the clock source of the 32 khz clock 0 = rc-oscillator 1 = 32 khz crystal oscillator 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 32 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 1: the period duration of 250 us is derived by dividing the rc16m clock signal by 4000. consequently, the period duration may vary over tem- perature. 2 r/w ret_sysram sets the development phase mode. the pd_sys is not actually power gated (sysram is retained). no copy action to sysram is done when the system wakes up. for emulating startup time, the otp_copy bit still needs to be set. 0x0 1:0 r/w remap_adr0 controls which memory is located at address 0x0000 for execution. 0x0: rom 0x1: otp 0x2: sysram 0x3: retram 0x0 table 20: sys_ctrl_reg (0x50000012) bit mode symbol description reset table 21: sys_stat_reg (0x50000014) bit mode symbol description reset 15:8 - - reserved 0x0 7 r xtal16_settled indicates that xtal16 has had > 2 ms of settle time 0x0 6 r xtal16_trim_rea dy indicates that xtal trimming mechanism is ready, i.e. the trimming equals clk_freq_trim_reg. 0x1 5 r dbg_is_up indicates that pd_dbg is functional 0x0 4 r dbg_is_down indicates that pd_dbg is in power down 0x1 3 r per_is_up indicates that pd_per is functional 0x0 2 r per_is_down indicates that pd_per is in power down 0x1 1 r rad_is_up indicates that pd_rad is functional 0x0 0 r rad_is_down indicates that pd _rad is in power down 0x1 table 22: trim_ctrl_reg (0x50000016) bit mode symbol description reset 7:4 r/w trim_time defines the delay between xtal16m enable and applying the clk_freq_trim_reg in steps of 250 us. 0x0: apply directly 0x1: wait between 0 and 250 us 0x2: wait between 250 us and 500 us etc. (note 1) 0xa 3:0 r/w settle_time defines the delay between applying clk_freq_trim_reg and xta l16_settled in steps of 250 us. 0x0: xtal16_settled is set direcly 0x1: wait between 0 and 250 us 0x2: wait between 250 us and 500 us etc. 0x2 table 23: clk_32k_reg (0x50000020) bit mode symbol description reset 15:13 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 33 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 12 r/w xtal32k_disable_ ampreg setting this bit disables the amplitude regulation of the xtal32khz oscillator. set this bit to '1' for an external clock applied at xtal32kp. keep this bit '0' with a crystal between xtal32kp and xtal32km. 0x0 11:8 r/w rc32k_trim controls the frequency of the rc32k oscillator. 0x0: lowest frequency 0x7: default 0xf: highest frequency 0x7 7 r/w rc32k_enable enables the 32 khz rc oscillator 0x1 6:3 r/w xtal32k_cur bias current for the 32khz xtal oscillator. 0x0: minimum 0x3: default 0xf: maximum for each application there is an optimal setting for which the startup behaviour is optimal. 0x3 2:1 r/w xtal32k_rbias setting for the bias re sistor of the 32 khz xtal oscillator. 0x0: maximum 0x3: minimum prefered setting will be provided by dialog. 0x2 0 r/w xtal32k_enable enables the 32 khz xtal oscillator 0x0 table 23: clk_32k_reg (0x50000020) bit mode symbol description reset table 24: clk_16m_reg (0x50000022) bit mode symbol description reset 15:10 - - reserved 0x0 9 r/w xtal16_noise_fil t_enable enables noise flter in 16 mhz crystal oscillator 0x0 8 r/w xtal16_bias_sh_e nable enables ibias sample/hold function in 16 mhz crystal oscilla- tor. this bit should be set when the system wake up and reset before entering deep or extended sleep mode. 0x0 7:5 r/w xtal16_cur_set bias current for the 16 mhz xtal oscillator. 0x0: minimum 0x7: maximum 0x5 4:1 r/w rc16m_trim controls the frequency of the rc16m oscillator. 0x0: lowest frequency 0xf: highest frequency 0x0 0 r/w rc16m_enable enables the 16 mhz rc oscillator 0x0 table 25: clk_rcx20k_reg (0x50000024) bit mode symbol description reset 12 r/w rcx20k_select selects rcx oscillator. 0 : rc32k oscillator 1: rcx oscillator 0 11 r/w rcx20k_enable enable the rcx oscillator 0 10 r/w rcx20k_lowf extra low frequency 0 9:8 r/w rcx20k_bias bias control 1 7:4 r/w rcx20k_ntc temperature control 7
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 34 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 2: 0xf is the lowest voltage, but is too low for reliable startup at high temperature in combination with extended sleep. 0xa is 1 00 mv higher and considered to be the lowest value which is safe to use. 0x0 or 0x1 is again 100 mv higher and 0x0 is the reset value. 0x4 i s the maxi- mum voltage. 3:0 r/w rcx20k_trim controls the frequency of the rcx oscillator. 0x0: lowest frequency 0x7: default 0xf: highest frequency 8 table 25: clk_rcx20k_reg (0x50000024) bit mode symbol description reset table 26: bandgap_reg (0x50000028) bit mode symbol description reset 15 - - reserved 0x0 14 r/w bgr_lowpower test-mode, do not use. it disables the bandgap core (voltages will continue for some time, but will slowely drift away) 0x0 13:10 r/w ldo_ret_trim (note 2) 0x0 9:5 r/w bgr_itrim current trimming for bias 0x0 4:0 r/w bgr_trim trim register for bandgap 0x0 table 27: ana_status_reg (0x5000002a) bit mode symbol description reset 15:10 - - reserved 0x0 9 r boost_selected indicates th at dcdc is in boost mode 0x0 8 - - reserved 0x0 7 r bandgap_ok indicates th at bandgap is ok 0x1 6 r boost_vbat_ok indicates that vbat is above threshold while in boost con- verter mode. 0x0 5 r ldo_ana_ok indicates that ldo_ana is in regulation. th is ldo is used for the general-purpose adc only 0x0 4 r ldo_vdd_ok indicates that ldo_vdd is in regulation 0x1 3 r ldo_otp_ok indicates that ldo_otp is in regulation 0x0 2 r vdcdc_ok indicates that vdcdc is above threshold. 0x0 1 r vbat1v_ok indicates that vbat1v is above threshold. 0x0 0 r vbat1v_available indicates th at vbat1v is available. 0x0 table 28: wkup_ctrl_reg (0x50000100) bit mode symbol description reset 15:14 - - reserved 0x0 7 r/w wkup_enable_ir q 0: no interrupt will be enabled 1: if the event counter reaches the value set by wkup_compare_reg an irq will be generated 0x0 6 r/w wkup_sft_keyhit 0: no effect 1: emulate key hit. the event counter will increment by 1 (after debouncing if enabled). first make this bit 0 before any new key hit can be sensed. 0x0 5:0 r/w wkup_deb_value keyboard debounce time (n*1 ms with n = 1 to 63). 0x0: no debouncing 0x1 to 0x3f: 1 ms to 63 ms debounce time 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 35 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 29: wkup_compare_reg (0x50000102) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w compare the number of events that have to be c ounted before the wakeup interrupt will be given 0x0 table 30: wkup_reset_irq_reg (0x50000104) bit mode symbol description reset 15:0 w wkup_irq_rst writing any value to this register will reset the interrupt. read- ing always returns 0. 0x0 table 31: wkup_counter_reg (0x50000106) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r event_value this value represents t he number of events that have been counted so far. it will be reset by resetting the interrupt. 0x0 table 32: wkup_reset_cntr_reg (0x50000108) bit mode symbol description reset 15:0 w wkup_cntr_rst writing any value to this register will reset the event counter 0x0 table 33: wkup_select_p0_reg (0x5000010a) bit mode symbol description reset 7:0 r/w wkup_select_p0 0: input p0x is not enabled for wakeup event counter 1: input p0x is enabled for wakeup event counter 0x0 table 34: wkup_select_p1_reg (0x5000010c) bit mode symbol description reset 5:0 r/w wkup_select_p1 0: input p1x is not enabled for wakeup event counter 1: input p1x is enabled for wakeup event counter 0x0 table 35: wkup_select_p2_reg (0x5000010e) bit mode symbol description reset 9:0 r/w wkup_select_p2 0: input p2x is not enabled for wakeup event counter 1: input p2x is enabled for wakeup event counter 0x0 table 36: wkup_select_p3_reg (0x50000110) bit mode symbol description reset 7:0 r/w wkup_select_p3 0: input p3x is not enabled for wakeup event counter 1: input p3x is enabled for wakeup event counter 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 36 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 37: wkup_pol_p0_reg (0x50000112) bit mode symbol description reset 7:0 r/w wkup_pol_p0 0: enabled input p0x will increment the event counter if that input goes high 1: enabled input p0x will incremen t the event counter if that input goes low 0x0 table 38: wkup_pol_p1_reg (0x50000114) bit mode symbol description reset 5:0 r/w wkup_pol_p1 0: enabled input p1x will increment the event counter if that input goes high 1: enabled input p1x will incremen t the event counter if that input goes low 0x0 table 39: wkup_pol_p2_reg (0x50000116) bit mode symbol description reset 9:0 r/w wkup_pol_p2 0: enabled input p2x will increment the event counter if that input goes high 1: enabled input p2x will incremen t the event counter if that input goes low 0x0 table 40: wkup_pol_p3_reg (0x50000118) bit mode symbol description reset 7:0 r/w wkup_pol_p3 0: enabled input p3x will increment the event counter if that input goes high 1: enabled input p3x will incremen t the event counter if that input goes low 0x0 table 41: qdec_ctrl_reg (0x50000200) bit mode symbol description reset 15:10 - - reserved 0x0 9:3 r/w qd_irq_thres the number of events on ei ther counter (x or y) that need to be reached before an interrupt is generated. if 0 is written, then threshold is considered to be 1. 0x2 2 r qd_irq_status interrupt status. if 1 an interrupt has occured. 0x0 1 r/w qd_irq_clr writing 1 to this bit clears the interrupt. this bit is auto- cleared 0x0 0 r/w qd_irq_mask 0: interrupt is masked 1: interrupt is enabled 0x0 table 42: qdec_xcnt_reg (0x50000202) bit mode symbol description reset 15:0 r x_counter contains a signed value of the events. zero when channel is disabled 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 37 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 43: qdec_ycnt_reg (0x50000204) bit mode symbol description reset 15:0 r y_counter contains a signed value of the events. zero when channel is disabled 0x0 table 44: qdec_clockdiv_reg (0x50000206) bit mode symbol description reset 9:0 r/w clock_divider contains the number of the input clock cycles minus one, that are required to gener ate one logic clock cycle. 0x0 table 45: qdec_ctrl2_reg (0x50000208) bit mode symbol description reset 15:12 - - reserved 0 11:8 r/w chz_port_sel defines which gpios are mapped on channel z 0: none 1: p0[0] -> chz_a, p0[1] -> chz_b 2: p0[2] -> chz_a, p0[3] -> chz_b 3: p0[4] -> chz_a, p0[5] -> chz_b 4: p0[6] -> chz_a, p0[7] -> chz_b 5: p1[0] -> chz_a, p1[1] -> chz_b 6: p1[2] -> chz_a, p1[3] -> chz_b 7: p2[3] -> chz_a, p2[4] -> chz_b 8: p2[5] -> chz_a, p2[6] -> chz_b 9: p2[7] -> chz_a, p2[8] -> chz_b 10: p2[9] -> chz_a, p2[0] -> chz_b 11..15: none 0 7:4 r/w chy_port_sel defines which gpios are mapped on channel y 0: none 1: p0[0] -> chy_a, p0[1] -> chy_b 2: p0[2] -> chy_a, p0[3] -> chy_b 3: p0[4] -> chy_a, p0[5] -> chy_b 4: p0[6] -> chy_a, p0[7] -> chy_b 5: p1[0] -> chy_a, p1[1] -> chy_b 6: p1[2] -> chy_a, p1[3] -> chy_b 7: p2[3] -> chy_a, p2[4] -> chy_b 8: p2[5] -> chy_a, p2[6] -> chy_b 9: p2[7] -> chy_a, p2[8] -> chy_b 10: p2[9] -> chy_a, p2[0] -> chy_b 11..15: none 0 3:0 r/w chx_port_sel defines which gpios are mapped on channel x 0: none 1: p0[0] -> chx_a, p0[1] -> chx_b 2: p0[2] -> chx_a, p0[3] -> chx_b 3: p0[4] -> chx_a, p0[5] -> chx_b 4: p0[6] -> chx_a, p0[7] -> chx_b 5: p1[0] -> chx_a, p1[1] -> chx_b 6: p1[2] -> chx_a, p1[3] -> chx_b 7: p2[3] -> chx_a, p2[4] -> chx_b 8: p2[5] -> chx_a, p2[6] -> chx_b 9: p2[7] -> chx_a, p2[8] -> chx_b 10: p2[9] -> chx_a, p2[0] -> chx_b 11..15: none 0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 38 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 46: qdec_zcnt_reg (0x5000020a) bit mode symbol description reset 15:0 r z_counter contains a signed value of the events. zero when channel is disabled 0 table 47: uart_rbr_thr_dll_reg (0x50001000) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w rbr_thr_dll receive buffer register : this register contains the data byte received on the serial input port (sin) in uart mode or the serial infrared input (sir_in) in infrared mode. the data in this register is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in th e rbr must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the receive fifo is full and this register is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. transmit holding register: this register contains data to be tr ansmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. divisor latch (low): this register makes up the lower 8- bits of a 16-bit, read/write, div isor latch register that con- tains the baud rate divisor for the uart. this register may only be accessed when the dlab bit (lcr[7]) is set. the output baud rate is equal to the serial clock (sclk) frequency divided by sixteen times the value of the baud rate divisor, as follows: baud rate = (serial clock freq) / (16 * divisor) note that with the divisor latch re gisters (dll and dlh) set to zero, the baud clock is disabled and no serial communica- tions will occur. also, once the dll is set, at least 8 clock cycles of the slowest dw_apb_uart clock should be allowed to pass before transmitting or receiving data. 0x0 table 48: uart_ier_dlh_reg (0x50001004) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w ptime_dlh7 interrupt enable regi ster: ptime, prog rammable thre interrupt mode enable. this is used to enable/disable the generation of thre interrupt. 0 = disabled 1 = enabled divi- sor latch (high): bit[7] of the 8 bit dlh register. 0x0 6:4 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 39 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r/w edssi_dlh3 interrupt enable regi ster: edssi, enable modem status interrupt. this is used to enable/disable the generation of modem status interrupt. this is the fourth highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[3] of the 8 bit dlh register 0x0 2 r/w elsi_dhl2 interrupt enable regist er: elsi, enable receiver line sta- tus interrupt. this is used to enable/disable the generation of receiver line status interrupt. this is the highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[2] of the 8 bit dlh register. 0x0 1 r/w etbei_dlh1 interrupt enable register: etbei, enable transmit holding register empty interrupt. this is used to enable/disable the generation of transmitter hold ing register empty interrupt. this is the third highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[ 1] of the 8 bit dlh register. 0x0 0 r/w erbfi_dlh0 interrupt enable register: erbfi, enable received data available interrupt. this is used to enable/disable the gener- ation of received data available interrupt and the character timeout interrupt (if in fifo mode and fifo's enabled). these are the second highest priority interrupts. 0 = disabled 1 = enabled divisor latch (high): bit[0] of the 8 bit dlh reg- ister. 0x0 table 48: uart_ier_dlh_reg (0x50001004) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 40 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 49: uart_iir_fcr_reg (0x50001008) bit mode symbol description reset 15:0 r/w iir_fcr interrupt identification register, reading this register; fifo control register, writing to this register. interrupt identifica- tion register: bits[7:6], fifo's enabled (or fifose): this is used to indicate whether the fifo's are enabled or disabled. 00 = disabled. 11 = enabled. bits[3:0], interrupt id (or iid): this indicates the highest priority pending interrupt which can be one of the following types: 0000 = modem status. 0001 = no interrupt pending. 0010 = thr empty. 0100 = received data available. 0110 = receiver line status. 0111 = busy detect. 1100 = character timeout. bits[7:6], rcvr trig- ger (or rt):. this is used to se lect the trigger level in the receiver fifo at which the received data available interrupt will be generated. in auto flow control mode it is used to determine when the rts_n signal will be de-asserted. it also determines when the dma_rx_req_n signal will be asserted when in certain modes of operation. the following trigger levels are supported: 00 = 1 ch aracter in the fifo 01 = fifo 1/4 full 10 = fifo 1/2 full 11 = fifo 2 less than full bits[5:4], tx empty trigger (or tet): this is used to select the empty threshold level at which the thre interrupts will be gener- ated when the mode is active. it also determines when the dma_tx_req_n signal will be asserted when in certain modes of operation. the following trig ger levels are supported: 00 = fifo empty 01 = 2 characters in the fifo 10 = fifo 1/4 full 11 = fifo 1/2 full bit[3], dma mode (or dmam): this deter- mines the dma signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1 bit[2], xmit fifo reset (or xfif or): this resets the control portion of the transmit fifo and treats the fifo as empty. note that this bit is 'self-clearing' and it is not necessary to clear this bit. bit[1], rcvr fi fo reset (or rfifor): this resets the control portion of th e receive fifo and treats the fifo as empty. note that this bit is 'self-clearing' and it is not necessary to clear this bit. bit[0], fifo enable (or fifoe): this enables/disables the tr ansmit (xmit) and receive (rcvr) fifo's. whenever the value of this bit is changed both the xmit and rcvr controller portion of fifo's will be reset. 0x0 table 50: uart_lcr_reg (0x5000100c) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w uart_dlab divisor latch access bit. this bit is used to enable reading and writing of the divisor latch register (dll and dlh) to set the baud rate of the uart. this bit must be cleared after initial baud rate setup in order to access other registers. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 41 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 6 r/w uart_bc break control bit. this is used to cause a break condition to be transmitted to the receiving device. if set to one the serial output is forced to the spacing (logic 0) state. when not in loopback mode, as determined by mcr[4], the so ut line is forced low until the break bit is cleared. if ac tive (mcr[6] set to one) the sir_out_n line is continuously pulsed. when in loopback mode, the break condition is internally looped back to the receiver and the sir_out_n line is forced low. 0x0 5 - - reserved 0x0 4 r/w uart_eps even parity select. this is used to select between even and odd parity, when parity is enabled (pen set to one). if set to one, an even number of logic 1s is transmitted or checked. if set to zero, an odd number of logic 1s is transmitted or checked. 0x0 3 r/w uart_pen parity enable. this bit is used to enable and disable parity generation and detection in transmitted and received serial character respectively. 0 = parity disabled 1 = parity enabled 0x0 2 r/w uart_stop number of stop bits. this is used to select the number of stop bits per character that the peripheral transmits and receives. if set to zero, one stop bit is transmitted in the serial data. if set to one and the data bits are set to 5 (lcr[1:0] set to zero) one and a half stop bits is transmitted. otherwise, two stop bits are transmitted. note that regardless of the number of stop bits selected, the receiver checks only the first stop bit. 0 = 1 stop bit 1 = 1.5 stop bits when dls (lcr[1:0]) is zero, else 2 stop bit 0x0 1:0 r/w uart_dls data length select. this is used to select the number of data bits per character that the peripheral transmits and receives. the number of bit that may be selected areas follows: 00 = 5 bits 01 = 6 bits 10 = 7 bits 11 = 8 bits 0x0 table 50: uart_lcr_reg (0x5000100c) bit mode symbol description reset table 51: uart_mcr_reg (0x50001010) bit mode symbol description reset 15:7 - - reserved 0x0 6 r/w uart_sire sir mode enable. this is used to enable/disable the irda sir mode features as described in "irda 1.0 sir protocol" on page 53. 0 = irda sir mode disabled 1 = irda sir mode enabled 0x0 5 r/w uart_afce auto flow control enable. when fifos are enabled and the auto flow control enable (afce) bit is set, hardware auto flow control is enabled via cts and rts. 0 = auto flow control mode disabled 1 = auto flow control mode enabled 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 42 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4 r/w uart_lb loopback bit. this is used to put the uart into a diagnostic mode for test purposes. if operating in uart mode (s ir_mode not active, mcr[6] set to zero), data on the sout line is held high, while serial data output is looped back to the sin line, internally. in this mode all the interrupts are fully functional. also, in loopback mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n) are disconnected and the modem control outputs (dtr_n, rts_n, out1_n, out2_n) are looped back to the inputs, inter- nally. if operating in infrared mode (sir_mode active, mcr[6] set to one), data on the sir_out_n line is held low, while serial data output is inverted and looped back to the sir_in line. 0x0 3 r/w uart_out2 out2. this is used to directly control the user-designated output2 (out2_n) output. the value written to this location is inverted and driven out on out2_n, that is: 0 = out2_n de-asserted (logic 1) 1 = out2_n asserted (logic 0) note that in loopback mode (m cr[4] set to one), the out2_n output is held inactive high while the value of this location is internally looped back to an input. 0x0 2 r/w uart_out1 out1. this is used to directly control the user-designated output1 (out1_n) output. the value written to this location is inverted and driven out on out1_n, that is: 0 = out1_n de-asserted (logic 1) 1 = out1_n asserted (logic 0) note that in loopback mode (m cr[4] set to one), the out1_n output is held inactive high while the value of this location is internally looped back to an input. 0x0 1 r/w uart_rts request to send. this is used to directly control the request to send (rts_n) output. the request to send (rts_n) output is used to inform the modem or data set that th e uart is ready to exchange data. when auto flow control is di sabled (mcr[5] set to zero), the rts_n signal is set low by programming mcr[1] (rts) to a high. when auto flow control is enabled (mcr[5] set to one) and fifos are enabled (fcr[0] set to one), the rts_n output is controlled in the same way, but is also gated with the receiver fifo threshold trigger (rts_n is inactive high when above the threshold). the rts_n signal is de-asserted when mcr[1] is set low. note that in loopback mode (mcr[4] set to one), the rts_n output is held inactive (high) while the value of this location is internally looped back to an input. 0x0 0 - - reserved 0x0 table 51: uart_mcr_reg (0x50001010) bit mode symbol description reset table 52: uart_lsr_reg (0x50001014) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 43 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7 r uart_rfe receiver fifo error bit. this bit is only relevant w hen fifos are enabled (fcr[0] set to one). this is used to indicate if there is at least one parity error, framing error, or break indication in the fifo. 0 = no error in rx fifo 1 = error in rx fifo this bit is cleared when the lsr is read and the character with the error is at the top of the receiver fifo and there are no subsequent errors in the fifo. 0x0 6 r uart_temt transmitter empty bit. if fifos enabled (fcr[0] set to one), this bit is set whenever the transmitter shift register and the fifo are both empty. if fifos are disabled, this bit is set whenever the transmitter holding register and the transmitter shift register are both empty. 0x1 5 r uart_thre transmit holding register empty bit. if thre mode is disabled (ier[7] set to zero) and regardless of fifo's being implemented/enabled or not, this bit indi- cates that the thr or tx fifo is empty. this bit is set whenever data is transferred from the thr or tx fifo to the transmitter shift register and no new data has been written to the thr or tx fifo. this also causes a thre interrupt to occur, if the thre interrupt is enabled. if both modes are active (ier[7] set to one and fcr[0] set to one respectively), the functionalit y is switched to indicate the transmitter fifo is full, and no longer controls thre inter- rupts, which are then controlled by the fcr[5:4] threshold setting. 0x1 4 r uart_b1 break interrupt bit. this is used to indicate the detection of a break sequence on the serial input data. if in uart mode (sir_mode == disabled), it is set when- ever the serial input, sin, is held in a logic '0' state for longer than the sum of start time + data bits + parity + stop bits. if in infrared mode (sir_mode == enabled), it is set when- ever the serial input, sir_in, is continuously pulsed to logic '0' for longer than the sum of start time + data bits + parity + stop bits. a break condition on serial input causes one and only one character, consisting of all zeros, to be received by the uart. in the fifo mode, the character associated with the break condition is carried through the fifo and is revealed when the character is at the top of the fifo. reading the lsr clears the bi bit. in the non-fifo mode, the bi indication occurs immediately and persists until the lsr is read. 0x0 table 52: uart_lsr_reg (0x50001014) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 44 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r uart_fe framing error bit. this is used to indicate the occurrence of a framing error in the receiver. a framing error occurs when the receiver does not detect a valid stop bit in the received data. in the fifo mode, si nce the framing error is associated with a character received, it is re vealed when the character with the framing error is at the top of the fifo. when a framing error occurs, the uart tries to resynchro- nize. it does this by assuming that the error was due to the start bit of the next character and then continues receiving the other bit i.e. data, and/or parity and stop. it should be noted that the framing error (fe) bit (lsr[3]) is set if a break interrupt has occurred, as indicated by break interrupt (bi) bit (lsr[4]). 0 = no framing error 1 = framing error reading the lsr clears the fe bit. 0x0 2 r uart_pe parity error bit. this is used to indicate the occurrence of a parity error in the receiver if the parity enable (pen) bit (lcr[3]) is set. in the fifo mode, since the pari ty error is associated with a character received, it is rev ealed when the character with the parity error arrives at the top of the fifo. it should be noted that the parity error (pe) bit (lsr[2]) is set if a break interrupt has occurred, as indicated by break interrupt (bi) bit (lsr[4]). 0 = no parity error 1 = parity error reading the lsr clears the pe bit. 0x0 1 r uart_oe overrun error bit. this is used to indicate the occurrence of an overrun error. this occurs if a new data character was received before the previous data was read. in the non-fifo mode, the oe bit is set when a new charac- ter arrives in the receiver before the previous character was read from the rbr. when this happens, the data in the rbr is overwritten. in the fifo mode, an overrun error occurs when the fifo is full and a new character arrives at the receiver. the data in the fifo is retained and the data in the receive shift register is lost. 0 = no overrun error 1 = overrun error reading the lsr clears the oe bit. 0x0 0 r uart_dr data ready bit. this is used to indicate that the receiver contains at least one character in the rbr or the receiver fifo. 0 = no data ready 1 = data ready this bit is cleared when the rbr is read in non-fifo mode, or when the receiver fifo is empty, in fifo mode. 0x0 table 52: uart_lsr_reg (0x50001014) bit mode symbol description reset table 53: uart_msr_reg (0x50001018) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 45 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7 r uart_dcd data carrier detect. this is used to indicate the current state of the modem con- trol line dcd_n. this bit is the complement of dcd_n. when the data carrier detect input (dcd_n) is asserted it is an indi- cation that the carrier has been detected by the modem or data set. 0 = dcd_n input is de-asserted (logic 1) 1 = dcd_n input is asserted (logic 0) in loopback mode (mcr[4] set to one), dcd is the same as mcr[3] (out2). 0x0 6 r uart_r1 ring indicator. this is used to indicate the current state of the modem con- trol line ri_n. this bit is the complement of ri_n. when the ring indicator input (ri_n) is asserted it is an indication that a telephone ringing signal has been received by the modem or data set. 0 = ri_n input is de-asserted (logic 1) 1 = ri_n input is asserted (logic 0) in loopback mode (mcr[4] set to one), ri is the same as mcr[2] (out1). 0x0 5 - - reserved 0x0 4 r uart_cts clear to send. this is used to indicate the current state of the modem con- trol line cts_n. this bit is the complement of cts_n. when the clear to send input (cts_n) is asserted it is an indication that the modem or data set is ready to exchange data with the uart ctrl. 0 = cts_n input is de-asserted (logic 1) 1 = cts_n input is asserted (logic 0) in loopback mode (mcr[4] = 1), cts is the same as mcr[1] (rts). 0x0 3 r uart_ddcd delta data carrier detect. this is used to indicate that the modem control line dcd_n has changed since the last time the msr was read. 0 = no change on dcd_n since last read of msr 1 = change on dcd_n since last read of msr reading the msr clears the ddcd bit. in loopback mode (mcr[4] = 1), ddcd reflects changes on mcr[3] (out2). note, if the ddcd bit is not set and the dcd_n signal is asserted (low) and a reset occurs (software or otherwise), then the ddcd bit is set when the reset is removed if the dcd_n signal remains asserted. 0x0 2 r uart_teri trailing edge of ring indicator. this is used to indicate that a change on the input ri_n (from an active-low to an inactive-high state) has occurred since the last time the msr was read. 0 = no change on ri_n since last read of msr 1 = change on ri_n since last read of msr reading the msr clears the teri bit. in loopback mode (mcr[4] = 1), teri reflects when mcr[2] (out1) has changed state from a high to a low. 0x0 1 - - reserved 0x0 table 53: uart_msr_reg (0x50001018) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 46 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r uart_dcts delta clear to send. this is used to indicate that the modem control line cts_n has changed since the last time the msr was read. 0 = no change on cts_n since last read of msr 1 = change on cts_n since last read of msr reading the msr clears the dcts bit. in loopback mode (mcr[4] = 1), dcts reflects changes on mcr[1] (rts). note, if the dcts bit is not set and the cts_n signal is asserted (low) and a reset occurs (software or otherwise), then the dcts bit is set when the reset is removed if the cts_n signal re mains asserted. 0x0 table 53: uart_msr_reg (0x50001018) bit mode symbol description reset table 54: uart_scr_reg (0x5000101c) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w uart_scratch_p ad this register is for programmers to use as a temporary stor- age space. it has no defined purpose in the uart ctrl. 0x0 table 55: uart_lpdll_reg (0x50001020) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w uart_lpdll this register makes up the lower 8-bits of a 16-bit, read/ write, low power divisor latch register that contains the baud rate divisor for the uart, which must give a baud rate of 115.2k. this is require d for sir low power (minimum pulse width) detection at the receiver. this register may be accessed only when the dlab bit (lcr[7]) is set. the output low-power baud rate is equal to the serial clock (sclk) frequency divided by si xteen times the value of the baud rate divisor, as follows: low power baud rate = (serial clock frequency)/(16* divisor) therefore, a divisor must be selected to give a baud rate of 115.2k. note: when the low power divisor latch registers (lpdll and lpdlh) are set to 0, the low-power baud clock is disa- bled and no low-power pulse detection (or any pulse detec- tion) occurs at the receiver. also, once the lpdll is set, at least eight clock cycles of th e slowest uart ctrl clock should be allowed to pass before transmitting or receiving data. 0x0 table 56: uart_lpdlh_reg (0x50001024) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 47 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w uart_lpdlh this register makes up the upper 8-bits of a 16-bit, read/ write, low power divisor latch register that contains the baud rate divisor for the uart, which must give a baud rate of 115.2k. this is require d for sir low power (minimum pulse width) detection at the receiver. this register may be accessed only when the dlab bit (lcr[7]) is set. the output low-power baud rate is equal to the serial clock (sclk) frequency divided by si xteen times the value of the baud rate divisor, as follows: low power baud rate = (serial clock frequency)/(16* divisor) therefore, a divisor must be selected to give a baud rate of 115.2k. note: when the low power divisor latch registers (lpdll and lpdlh) are set to 0, the low-power baud clock is disa- bled and no low-power pulse detection (or any pulse detec- tion) occurs at the receiver. also, once the lpdlh is set, at least eight clock cycles of th e slowest uart ctrl clock should be allowed to pass before transmitting or receiving data. 0x0 table 56: uart_lpdlh_reg (0x50001024) bit mode symbol description reset table 57: uart_srbr_sthr0_reg (0x50001030) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 48 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 58: uart_srbr_sthr1_reg (0x50001034) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 59: uart_srbr_sthr2_reg (0x50001038) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 49 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 59: uart_srbr_sthr2_reg (0x50001038) bit mode symbol description reset table 60: uart_srbr_sthr3_reg (0x5000103c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 50 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 60: uart_srbr_sthr3_reg (0x5000103c) bit mode symbol description reset table 61: uart_srbr_sthr4_reg (0x50001040) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 51 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 61: uart_srbr_sthr4_reg (0x50001040) bit mode symbol description reset table 62: uart_srbr_sthr5_reg (0x50001044) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 52 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 62: uart_srbr_sthr5_reg (0x50001044) bit mode symbol description reset table 63: uart_srbr_sthr6_reg (0x50001048) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 53 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 63: uart_srbr_sthr6_reg (0x50001048) bit mode symbol description reset table 64: uart_srbr_sthr7_reg (0x5000104c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 54 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 64: uart_srbr_sthr7_reg (0x5000104c) bit mode symbol description reset table 65: uart_srbr_sthr8_reg (0x50001050) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 55 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 65: uart_srbr_sthr8_reg (0x50001050) bit mode symbol description reset table 66: uart_srbr_sthr9_reg (0x50001054) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 56 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 66: uart_srbr_sthr9_reg (0x50001054) bit mode symbol description reset table 67: uart_srbr_sthr10_reg (0x50001058) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 57 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 67: uart_srbr_sthr10_reg (0x50001058) bit mode symbol description reset table 68: uart_srbr_sthr11_reg (0x5000105c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 58 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 68: uart_srbr_sthr11_reg (0x5000105c) bit mode symbol description reset table 69: uart_srbr_sthr12_reg (0x50001060) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 59 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 69: uart_srbr_sthr12_reg (0x50001060) bit mode symbol description reset table 70: uart_srbr_sthr13_reg (0x50001064) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 60 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 70: uart_srbr_sthr13_reg (0x50001064) bit mode symbol description reset table 71: uart_srbr_sthr14_reg (0x50001068) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 61 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 71: uart_srbr_sthr14_reg (0x50001068) bit mode symbol description reset table 72: uart_srbr_sthr15_reg (0x5000106c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 62 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 72: uart_srbr_sthr15_reg (0x5000106c) bit mode symbol description reset table 73: uart_usr_reg (0x5000107c) bit mode symbol description reset 15:5 - - reserved 0x0 4 r uart_rff receive fifo full. this is used to indicate that the receive fifo is completely full. 0 = receive fifo not full 1 = receive fifo full this bit is cleared when the rx fifo is no longer full. 0x0 3 r uart_rfne receive fifo not empty. this is used to indicate that the receive fifo contains one or more entries. 0 = receive fifo is empty 1 = receive fifo is not empty this bit is cleared when the rx fifo is empty. 0x0 2 r uart_tfe transmit fifo empty. this is used to indicate that the transmit fifo is completely empty. 0 = transmit fifo is not empty 1 = transmit fifo is empty this bit is cleared when the tx fifo is no longer empty. 0x1
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 63 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 1 r uart_tfnf transmit fifo not full. this is used to indicate that the transmit fifo in not full. 0 = transmit fifo is full 1 = transmit fifo is not full this bit is cleared when the tx fifo is full. 0x1 0 - - reserved 0x0 table 73: uart_usr_reg (0x5000107c) bit mode symbol description reset table 74: uart_tfl_reg (0x50001080) bit mode symbol description reset 15:0 r uart_transmit_f ifo_level transmit fifo level. this is indicates the number of data entries in the transmit fifo. 0x0 table 75: uart_rfl_reg (0x50001084) bit mode symbol description reset 15:0 r uart_receive_fi fo_level receive fifo level. this is indicates the number of data entries in the receive fifo. 0x0 table 76: uart_srr_reg (0x50001088) bit mode symbol description reset 15:3 - - reserved 0x0 2 w uart_xfr xmit fifo reset. this is a shadow register for the xmit fifo reset bit (fcr[2]). this can be used to remove the burden on soft- ware having to store previously written fcr values (which are pretty static) just to reset the transmit fifo. this resets the control portion of the transmit fifo and treats the fifo as empty. note that this bit is 'self-clearing'. it is not neces- sary to clear this bit. 0x0 1 w uart_rfr rcvr fifo reset. this is a shadow register for the rcvr fifo reset bit (fcr[1]). this can be used to remove the burden on soft- ware having to store previously written fcr values (which are pretty static) just to reset the receive fifo this resets the control portion of the rece ive fifo and treats the fifo as empty. note that this bit is 'self-cleari ng'. it is not necessary to clear this bit. 0x0 0 w uart_ur uart reset. this asynchronously resets the uart ctrl and synchronously removes the rese t assertion. for a two clock implementation both pclk and sclk domains are reset. 0x0 table 77: uart_srts_reg (0x5000108c) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 64 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_shadow_r equest_to_send shadow request to send. this is a shadow register for the rts bit (mcr[1]), this can be used to remove the burden of having to perform a read- modify-write on the mcr. this is used to directly control the request to send (rts_n) output. the request to send (rts_n) output is used to inform the modem or data set that the uart ctrl is ready to exchange data. when auto flow control is di sabled (mcr[5] = 0), the rts_n signal is set low by programming mcr[1] (rts) to a high. when auto flow control is enabled (mcr[5] = 1) and fifos are enabled (fcr[0] = 1), the rts _n output is controlled in the same way, but is also gated wit h the receiver fifo threshold trigger (rts_n is inactive high when above the threshold). note that in loopback mode (mcr[ 4] = 1), the rts_n output is held inactive-high while the value of this location is internally looped back to an input. 0x0 table 77: uart_srts_reg (0x5000108c) bit mode symbol description reset table 78: uart_sbcr_reg (0x50001090) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w uart_shadow_b reak_control shadow break control bit. this is a shadow register for the break bit (lcr[6]), this can be used to remove the burden of having to performing a read modify write on the lcr. this is used to cause a break con- dition to be transmitted to the receiving device. if set to one the serial output is forced to the spacing (logic 0) state. when not in loopback mode, as determined by mcr[4], the sout line is forced low until the break bit is cleared. if sir_mode active (mcr[6] = 1) the sir_out_n line is con- tinuously pulsed. when in loopback mode, the break condi- tion is internally looped back to the receiver. 0x0 table 79: uart_sdmam_reg (0x50001094) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w uart_shadow_d ma_mode shadow dma mode. this is a shadow register for the dma mode bit (fcr[3]). this can be used to remove the burden of having to store the previously written value to the fcr in memory and having to mask this value so that only the dma mode bit gets updated. this determines the dma signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1 0x0 table 80: uart_sfe_reg (0x50001098) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 65 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_shadow_fi fo_enable shadow fifo enable. this is a shadow register for the fifo enable bit (fcr[0]). this can be used to remove the burden of having to store the previously written value to the fcr in memory and having to mask this value so that only the fifo enable bit gets updated.this enables/disables the transmit (xmit) and receive (rcvr) fifos. if this bi t is set to zero (disabled) after being enabled then both t he xmit and rcvr controller portion of fifos are reset. 0x0 table 80: uart_sfe_reg (0x50001098) bit mode symbol description reset table 81: uart_srt_reg (0x5000109c) bit mode symbol description reset 15:2 - - reserved 0x0 1:0 r/w uart_shadow_r cvr_trigger shadow rcvr trigger. this is a shadow register for the rcvr trigger bits (fcr[7:6]). this can be used to remove the burden of having to store the previous ly written value to the fcr in memory and having to mask this value so that only the rcvr trigger bit gets updated. this is used to select the trigger level in the receiver fifo at which the received data availabl e interrupt is generated. it also determines when the dma_rx_req_n signal is asserted when dma mode (fcr[3]) = 1. the following trigger levels are supported: 00 = 1 character in the fifo 01 = fifo a? full 10 = fifo a? full 11 = fifo 2 less than full 0x0 table 82: uart_stet_reg (0x500010a0) bit mode symbol description reset 15:2 - - reserved 0x0 1:0 r/w uart_shadow_tx _empty_trigger shadow tx empty trigger. this is a shadow register for the tx empty trigger bits (fcr[5:4]). this can be used to remove the burden of having to store the previous ly written value to the fcr in memory and having to mask this value so that only the tx empty trig- ger bit gets updated. this is used to select the empty threshold level at which the thre interrupts are generated when the mode is active. the following trigger levels are supported: 00 = fifo empty 01 = 2 characters in the fifo 10 = fifo a? full 11 = fifo a? full 0x0 table 83: uart_htx_reg (0x500010a4) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 66 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_halt_tx this register is use to halt transmissions for testing, so that the transmit fifo can be fille d by the master when fifos are implemented and enabled. 0 = halt tx disabled 1 = halt tx enabled note, if fifos are implemented and not enabled, the setting of the halt tx register ha s no effect on operation. 0x0 table 83: uart_htx_reg (0x500010a4) bit mode symbol description reset table 84: uart_cpr_reg (0x500010f4) bit mode symbol description reset 15:0 r cpr component parameter register 0x0 table 85: uart_ucv_reg (0x500010f8) bit mode symbol description reset 15:0 r ucv component version 0x33303 82a table 86: uart_ctr_reg (0x500010fc) bit mode symbol description reset 15:0 r ctr component type register 0x44570 110 table 87: uart2_rbr_thr_dll_reg (0x50001100) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 67 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w rbr_thr_dll receive buffer register : this register contains the data byte received on the serial input port (sin) in uart mode or the serial infrared input (sir_in) in infrared mode. the data in this register is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in th e rbr must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the receive fifo is full and this register is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. transmit holding register: this register contains data to be tr ansmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. divisor latch (low): this register makes up the lower 8- bits of a 16-bit, read/write, div isor latch register that con- tains the baud rate divisor for the uart. this register may only be accessed when the dlab bit (lcr[7]) is set. the output baud rate is equal to the serial clock (sclk) frequency divided by sixteen times the value of the baud rate divisor, as follows: baud rate = (serial clock freq) / (16 * divisor) note that with the divisor latch re gisters (dll and dlh) set to zero, the baud clock is disabled and no serial communica- tions will occur. also, once the dll is set, at least 8 clock cycles of the slowest dw_apb_uart clock should be allowed to pass before transmitting or receiving data. 0x0 table 87: uart2_rbr_thr_dll_reg (0x50001100) bit mode symbol description reset table 88: uart2_ier_dlh_reg (0x50001104) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w ptime_dlh7 interrupt enable regi ster: ptime, prog rammable thre interrupt mode enable. this is used to enable/disable the generation of thre interrupt. 0 = disabled 1 = enabled divi- sor latch (high): bit[7] of the 8 bit dlh register. 0x0 6:4 - - reserved 0x0 3 r/w edssi_dlh3 interrupt enable regi ster: edssi, enable modem status interrupt. this is used to enable/disable the generation of modem status interrupt. this is the fourth highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[3] of the 8 bit dlh register 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 68 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 2 r/w elsi_dhl2 interrupt enable regist er: elsi, enable receiver line sta- tus interrupt. this is used to enable/disable the generation of receiver line status interrupt. this is the highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[2] of the 8 bit dlh register. 0x0 1 r/w etbei_dlh1 interrupt enable register: etbei, enable transmit holding register empty interrupt. this is used to enable/disable the generation of transmitter hold ing register empty interrupt. this is the third highest priority interrupt. 0 = disabled 1 = enabled divisor latch (high): bit[ 1] of the 8 bit dlh register. 0x0 0 r/w erbfi_dlh0 interrupt enable register: erbfi, enable received data available interrupt. this is used to enable/disable the gener- ation of received data available interrupt and the character timeout interrupt (if in fifo mode and fifo's enabled). these are the second highest priority interrupts. 0 = disabled 1 = enabled divisor latch (high): bit[0] of the 8 bit dlh reg- ister. 0x0 table 88: uart2_ier_dlh_reg (0x50001104) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 69 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 89: uart2_iir_fcr_reg (0x50001108) bit mode symbol description reset 15:0 r/w iir_fcr interrupt identification register, reading this register; fifo control register, writing to this register. interrupt identifica- tion register: bits[7:6], fifo's enabled (or fifose): this is used to indicate whether the fifo's are enabled or disabled. 00 = disabled. 11 = enabled. bits[3:0], interrupt id (or iid): this indicates the highest priority pending interrupt which can be one of the following types: 0000 = modem status. 0001 = no interrupt pending. 0010 = thr empty. 0100 = received data available. 0110 = receiver line status. 0111 = busy detect. 1100 = character timeout. bits[7:6], rcvr trig- ger (or rt):. this is used to se lect the trigger level in the receiver fifo at which the received data available interrupt will be generated. in auto flow control mode it is used to determine when the rts_n signal will be de-asserted. it also determines when the dma_rx_req_n signal will be asserted when in certain modes of operation. the following trigger levels are supported: 00 = 1 ch aracter in the fifo 01 = fifo 1/4 full 10 = fifo 1/2 full 11 = fifo 2 less than full bits[5:4], tx empty trigger (or tet): this is used to select the empty threshold level at which the thre interrupts will be gener- ated when the mode is active. it also determines when the dma_tx_req_n signal will be asserted when in certain modes of operation. the following trig ger levels are supported: 00 = fifo empty 01 = 2 characters in the fifo 10 = fifo 1/4 full 11 = fifo 1/2 full bit[3], dma mode (or dmam): this deter- mines the dma signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1 bit[2], xmit fifo reset (or xfif or): this resets the control portion of the transmit fifo and treats the fifo as empty. note that this bit is 'self-clearing' and it is not necessary to clear this bit. bit[1], rcvr fi fo reset (or rfifor): this resets the control portion of th e receive fifo and treats the fifo as empty. note that this bit is 'self-clearing' and it is not necessary to clear this bit. bit[0], fifo enable (or fifoe): this enables/disables the tr ansmit (xmit) and receive (rcvr) fifo's. whenever the value of this bit is changed both the xmit and rcvr controller portion of fifo's will be reset. 0x0 table 90: uart2_lcr_reg (0x5000110c) bit mode symbol description reset 15:8 - - reserved 0x0 7 r/w uart_dlab divisor latch access bit. this bit is used to enable reading and writing of the divisor latch register (dll and dlh) to set the baud rate of the uart. this bit must be cleared after initial baud rate setup in order to access other registers. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 70 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 6 r/w uart_bc break control bit. this is used to cause a break condition to be transmitted to the receiving device. if set to one the serial output is forced to the spacing (logic 0) state. when not in loopback mode, as determined by mcr[4], the so ut line is forced low until the break bit is cleared. if ac tive (mcr[6] set to one) the sir_out_n line is continuously pulsed. when in loopback mode, the break condition is internally looped back to the receiver and the sir_out_n line is forced low. 0x0 5 - - reserved 0x0 4 r/w uart_eps even parity select. this is used to select between even and odd parity, when parity is enabled (pen set to one). if set to one, an even number of logic 1s is transmitted or checked. if set to zero, an odd number of logic 1s is transmitted or checked. 0x0 3 r/w uart_pen parity enable. this bit is used to enable and disable parity generation and detection in transmitted and received serial character respectively. 0 = parity disabled 1 = parity enabled 0x0 2 r/w uart_stop number of stop bits. this is used to select the number of stop bits per character that the peripheral transmits and receives. if set to zero, one stop bit is transmitted in the serial data. if set to one and the data bits are set to 5 (lcr[1:0] set to zero) one and a half stop bits is transmitted. otherwise, two stop bits are transmitted. note that regardless of the number of stop bits selected, the receiver checks only the first stop bit. 0 = 1 stop bit 1 = 1.5 stop bits when dls (lcr[1:0]) is zero, else 2 stop bit 0x0 1:0 r/w uart_dls data length select. this is used to select the number of data bits per character that the peripheral transmits and receives. the number of bit that may be selected areas follows: 00 = 5 bits 01 = 6 bits 10 = 7 bits 11 = 8 bits 0x0 table 90: uart2_lcr_reg (0x5000110c) bit mode symbol description reset table 91: uart2_mcr_reg (0x50001110) bit mode symbol description reset 15:7 - - reserved 0x0 6 r/w uart_sire sir mode enable. this is used to enable/disable the irda sir mode features as described in "irda 1.0 sir protocol" on page 53. 0 = irda sir mode disabled 1 = irda sir mode enabled 0x0 5 r/w uart_afce auto flow control enable. when fifos are enabled and the auto flow control enable (afce) bit is set, hardware auto flow control is enabled via cts and rts. 0 = auto flow control mode disabled 1 = auto flow control mode enabled 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 71 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4 r/w uart_lb loopback bit. this is used to put the uart into a diagnostic mode for test purposes. if operating in uart mode (s ir_mode not active, mcr[6] set to zero), data on the sout line is held high, while serial data output is looped back to the sin line, internally. in this mode all the interrupts are fully functional. also, in loopback mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n) are disconnected and the modem control outputs (dtr_n, rts_n, out1_n, out2_n) are looped back to the inputs, inter- nally. if operating in infrared mode (sir_mode active, mcr[6] set to one), data on the sir_out_n line is held low, while serial data output is inverted and looped back to the sir_in line. 0x0 3 r/w uart_out2 out2. this is used to directly control the user-designated output2 (out2_n) output. the value written to this location is inverted and driven out on out2_n, that is: 0 = out2_n de-asserted (logic 1) 1 = out2_n asserted (logic 0) note that in loopback mode (m cr[4] set to one), the out2_n output is held inactive high while the value of this location is internally looped back to an input. 0x0 2 r/w uart_out1 out1. this is used to directly control the user-designated output1 (out1_n) output. the value written to this location is inverted and driven out on out1_n, that is: 0 = out1_n de-asserted (logic 1) 1 = out1_n asserted (logic 0) note that in loopback mode (m cr[4] set to one), the out1_n output is held inactive high while the value of this location is internally looped back to an input. 0x0 1 r/w uart_rts request to send. this is used to directly control the request to send (rts_n) output. the request to send (rts_n) output is used to inform the modem or data set that th e uart is ready to exchange data. when auto flow control is di sabled (mcr[5] set to zero), the rts_n signal is set low by programming mcr[1] (rts) to a high. when auto flow control is enabled (mcr[5] set to one) and fifos are enabled (fcr[0] set to one), the rts_n output is controlled in the same way, but is also gated with the receiver fifo threshold trigger (rts_n is inactive high when above the threshold). the rts_n signal is de-asserted when mcr[1] is set low. note that in loopback mode (mcr[4] set to one), the rts_n output is held inactive (high) while the value of this location is internally looped back to an input. 0x0 0 - - reserved 0x0 table 91: uart2_mcr_reg (0x50001110) bit mode symbol description reset table 92: uart2_lsr_reg (0x50001114) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 72 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7 r uart_rfe receiver fifo error bit. this bit is only relevant w hen fifos are enabled (fcr[0] set to one). this is used to indicate if there is at least one parity error, framing error, or break indication in the fifo. 0 = no error in rx fifo 1 = error in rx fifo this bit is cleared when the lsr is read and the character with the error is at the top of the receiver fifo and there are no subsequent errors in the fifo. 0x0 6 r uart_temt transmitter empty bit. if fifos enabled (fcr[0] set to one), this bit is set whenever the transmitter shift register and the fifo are both empty. if fifos are disabled, this bit is set whenever the transmitter holding register and the transmitter shift register are both empty. 0x1 5 r uart_thre transmit holding register empty bit. if thre mode is disabled (ier[7] set to zero) and regardless of fifo's being implemented/enabled or not, this bit indi- cates that the thr or tx fifo is empty. this bit is set whenever data is transferred from the thr or tx fifo to the transmitter shift register and no new data has been written to the thr or tx fifo. this also causes a thre interrupt to occur, if the thre interrupt is enabled. if both modes are active (ier[7] set to one and fcr[0] set to one respectively), the functionalit y is switched to indicate the transmitter fifo is full, and no longer controls thre inter- rupts, which are then controlled by the fcr[5:4] threshold setting. 0x1 4 r uart_b1 break interrupt bit. this is used to indicate the detection of a break sequence on the serial input data. if in uart mode (sir_mode == disabled), it is set when- ever the serial input, sin, is held in a logic '0' state for longer than the sum of start time + data bits + parity + stop bits. if in infrared mode (sir_mode == enabled), it is set when- ever the serial input, sir_in, is continuously pulsed to logic '0' for longer than the sum of start time + data bits + parity + stop bits. a break condition on serial input causes one and only one character, consisting of all zeros, to be received by the uart. in the fifo mode, the character associated with the break condition is carried through the fifo and is revealed when the character is at the top of the fifo. reading the lsr clears the bi bit. in the non-fifo mode, the bi indication occurs immediately and persists until the lsr is read. 0x0 table 92: uart2_lsr_reg (0x50001114) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 73 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r uart_fe framing error bit. this is used to indicate the occurrence of a framing error in the receiver. a framing error occurs when the receiver does not detect a valid stop bit in the received data. in the fifo mode, si nce the framing error is associated with a character received, it is re vealed when the character with the framing error is at the top of the fifo. when a framing error occurs, the uart tries to resynchro- nize. it does this by assuming that the error was due to the start bit of the next character and then continues receiving the other bit i.e. data, and/or parity and stop. it should be noted that the framing error (fe) bit (lsr[3]) is set if a break interrupt has occurred, as indicated by break interrupt (bi) bit (lsr[4]). 0 = no framing error 1 = framing error reading the lsr clears the fe bit. 0x0 2 r uart_pe parity error bit. this is used to indicate the occurrence of a parity error in the receiver if the parity enable (pen) bit (lcr[3]) is set. in the fifo mode, since the pari ty error is associated with a character received, it is rev ealed when the character with the parity error arrives at the top of the fifo. it should be noted that the parity error (pe) bit (lsr[2]) is set if a break interrupt has occurred, as indicated by break interrupt (bi) bit (lsr[4]). 0 = no parity error 1 = parity error reading the lsr clears the pe bit. 0x0 1 r uart_oe overrun error bit. this is used to indicate the occurrence of an overrun error. this occurs if a new data character was received before the previous data was read. in the non-fifo mode, the oe bit is set when a new charac- ter arrives in the receiver before the previous character was read from the rbr. when this happens, the data in the rbr is overwritten. in the fifo mode, an overrun error occurs when the fifo is full and a new character arrives at the receiver. the data in the fifo is retained and the data in the receive shift register is lost. 0 = no overrun error 1 = overrun error reading the lsr clears the oe bit. 0x0 0 r uart_dr data ready bit. this is used to indicate that the receiver contains at least one character in the rbr or the receiver fifo. 0 = no data ready 1 = data ready this bit is cleared when the rbr is read in non-fifo mode, or when the receiver fifo is empty, in fifo mode. 0x0 table 92: uart2_lsr_reg (0x50001114) bit mode symbol description reset table 93: uart2_msr_reg (0x50001118) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 74 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7 r uart_dcd data carrier detect. this is used to indicate the current state of the modem con- trol line dcd_n. this bit is the complement of dcd_n. when the data carrier detect input (dcd_n) is asserted it is an indi- cation that the carrier has been detected by the modem or data set. 0 = dcd_n input is de-asserted (logic 1) 1 = dcd_n input is asserted (logic 0) in loopback mode (mcr[4] set to one), dcd is the same as mcr[3] (out2). 0x0 6 r uart_r1 ring indicator. this is used to indicate the current state of the modem con- trol line ri_n. this bit is the complement of ri_n. when the ring indicator input (ri_n) is asserted it is an indication that a telephone ringing signal has been received by the modem or data set. 0 = ri_n input is de-asserted (logic 1) 1 = ri_n input is asserted (logic 0) in loopback mode (mcr[4] set to one), ri is the same as mcr[2] (out1). 0x0 5 - - reserved 0x0 4 r uart_cts clear to send. this is used to indicate the current state of the modem con- trol line cts_n. this bit is the complement of cts_n. when the clear to send input (cts_n) is asserted it is an indication that the modem or data set is ready to exchange data with the uart ctrl. 0 = cts_n input is de-asserted (logic 1) 1 = cts_n input is asserted (logic 0) in loopback mode (mcr[4] = 1), cts is the same as mcr[1] (rts). 0x0 3 r uart_ddcd delta data carrier detect. this is used to indicate that the modem control line dcd_n has changed since the last time the msr was read. 0 = no change on dcd_n since last read of msr 1 = change on dcd_n since last read of msr reading the msr clears the ddcd bit. in loopback mode (mcr[4] = 1), ddcd reflects changes on mcr[3] (out2). note, if the ddcd bit is not set and the dcd_n signal is asserted (low) and a reset occurs (software or otherwise), then the ddcd bit is set when the reset is removed if the dcd_n signal remains asserted. 0x0 2 r uart_teri trailing edge of ring indicator. this is used to indicate that a change on the input ri_n (from an active-low to an inactive-high state) has occurred since the last time the msr was read. 0 = no change on ri_n since last read of msr 1 = change on ri_n since last read of msr reading the msr clears the teri bit. in loopback mode (mcr[4] = 1), teri reflects when mcr[2] (out1) has changed state from a high to a low. 0x0 1 - - reserved 0x0 table 93: uart2_msr_reg (0x50001118) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 75 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r uart_dcts delta clear to send. this is used to indicate that the modem control line cts_n has changed since the last time the msr was read. 0 = no change on cts_n since last read of msr 1 = change on cts_n since last read of msr reading the msr clears the dcts bit. in loopback mode (mcr[4] = 1), dcts reflects changes on mcr[1] (rts). note, if the dcts bit is not set and the cts_n signal is asserted (low) and a reset occurs (software or otherwise), then the dcts bit is set when the reset is removed if the cts_n signal re mains asserted. 0x0 table 93: uart2_msr_reg (0x50001118) bit mode symbol description reset table 94: uart2_scr_reg (0x5000111c) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w uart_scratch_p ad this register is for programmers to use as a temporary stor- age space. it has no defined purpose in the uart ctrl. 0x0 table 95: uart2_lpdll_reg (0x50001120) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w uart_lpdll this register makes up the lower 8-bits of a 16-bit, read/ write, low power divisor latch register that contains the baud rate divisor for the uart, which must give a baud rate of 115.2k. this is require d for sir low power (minimum pulse width) detection at the receiver. this register may be accessed only when the dlab bit (lcr[7]) is set. the output low-power baud rate is equal to the serial clock (sclk) frequency divided by si xteen times the value of the baud rate divisor, as follows: low power baud rate = (serial clock frequency)/(16* divisor) therefore, a divisor must be selected to give a baud rate of 115.2k. note: when the low power divisor latch registers (lpdll and lpdlh) are set to 0, the low-power baud clock is disa- bled and no low-power pulse detection (or any pulse detec- tion) occurs at the receiver. also, once the lpdll is set, at least eight clock cycles of th e slowest uart ctrl clock should be allowed to pass before transmitting or receiving data. 0x0 table 96: uart2_lpdlh_reg (0x50001124) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 76 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w uart_lpdlh this register makes up the upper 8-bits of a 16-bit, read/ write, low power divisor latch register that contains the baud rate divisor for the uart, which must give a baud rate of 115.2k. this is require d for sir low power (minimum pulse width) detection at the receiver. this register may be accessed only when the dlab bit (lcr[7]) is set. the output low-power baud rate is equal to the serial clock (sclk) frequency divided by si xteen times the value of the baud rate divisor, as follows: low power baud rate = (serial clock frequency)/(16* divisor) therefore, a divisor must be selected to give a baud rate of 115.2k. note: when the low power divisor latch registers (lpdll and lpdlh) are set to 0, the low-power baud clock is disa- bled and no low-power pulse detection (or any pulse detec- tion) occurs at the receiver. also, once the lpdlh is set, at least eight clock cycles of th e slowest uart ctrl clock should be allowed to pass before transmitting or receiving data. 0x0 table 96: uart2_lpdlh_reg (0x50001124) bit mode symbol description reset table 97: uart2_srbr_sthr0_reg (0x50001130) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 77 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 98: uart2_srbr_sthr1_reg (0x50001134) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 99: uart2_srbr_sthr2_reg (0x50001138) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 78 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 99: uart2_srbr_sthr2_reg (0x50001138) bit mode symbol description reset table 100: uart2_srbr_sthr3_reg (0x5000113c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 79 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 100: uart2_srbr_sthr3_reg (0x5000113c) bit mode symbol description reset table 101: uart2_srbr_sthr4_reg (0x50001140) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 80 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 101: uart2_srbr_sthr4_reg (0x50001140) bit mode symbol description reset table 102: uart2_srbr_sthr5_reg (0x50001144) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 81 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 102: uart2_srbr_sthr5_reg (0x50001144) bit mode symbol description reset table 103: uart2_srbr_sthr6_reg (0x50001148) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 82 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 103: uart2_srbr_sthr6_reg (0x50001148) bit mode symbol description reset table 104: uart2_srbr_sthr7_reg (0x5000114c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 83 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 104: uart2_srbr_sthr7_reg (0x5000114c) bit mode symbol description reset table 105: uart2_srbr_sthr8_reg (0x50001150) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 84 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 105: uart2_srbr_sthr8_reg (0x50001150) bit mode symbol description reset table 106: uart2_srbr_sthr9_reg (0x50001154) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 85 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 106: uart2_srbr_sthr9_reg (0x50001154) bit mode symbol description reset table 107: uart2_srbr_sthr10_reg (0x50001158) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 86 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 107: uart2_srbr_sthr10_reg (0x50001158) bit mode symbol description reset table 108: uart2_srbr_sthr11_reg (0x5000115c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 87 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 108: uart2_srbr_sthr11_reg (0x5000115c) bit mode symbol description reset table 109: uart2_srbr_sthr12_reg (0x50001160) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 88 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 109: uart2_srbr_sthr12_reg (0x50001160) bit mode symbol description reset table 110: uart2_srbr_sthr13_reg (0x50001164) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 89 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 110: uart2_srbr_sthr13_reg (0x50001164) bit mode symbol description reset table 111: uart2_srbr_sthr14_reg (0x50001168) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 90 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 111: uart2_srbr_sthr14_reg (0x50001168) bit mode symbol description reset table 112: uart2_srbr_sthr15_reg (0x5000116c) bit mode symbol description reset 15:8 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 91 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7:0 r/w srbr_sthrx shadow receive buffer re gister x: this is a shadow register for the rbr and has been allocated sixteen 32-bit locations so as to accommodate burst a ccesses from the master. this register contains the data byte received on the serial input port (sin) in uart mode or the se rial infrared input (sir_in) in infrared mode. the data in this r egister is valid only if the data ready (dr) bit in the line status register (lsr) is set. if fifos are disabled (fcr[0] set to zero), the data in the rbr must be read before the nex t data arrives, otherwise it will be overwritten, resulting in an overrun error. if fifos are enabled (fcr[0] set to one), this register accesses the head of the receive fifo. if the rece ive fifo is full and this regis- ter is not read before the next data character arrives, then the data already in the fifo will be preserved but any incoming data will be lost. an overrun error will also occur. shadow transmit holding register 0: this is a shadow reg- ister for the thr and has been allocated sixteen 32-bit loca- tions so as to accommodate burst accesses from the master. this register contains data to be transmitted on the serial output port (sout) in uart mode or the serial infrared output (sir_out_n) in infrared mode. data should only be written to the thr when the thr empty (thre) bit (lsr[5]) is set. if fifo's are disabled (fcr[0] set to zero) and thre is set, writing a single character to the thr clears the thre. any additional writes to the thr before the thre is set again causes the thr data to be over written. if fifo's are enabled (fcr[0] set to one) and thre is set, x number of characters of data may be written to the thr before the fifo is full. the number x (default=16) is determined by the value of fifo depth that you set during configuration. any attempt to write data when the fifo is full results in the write data being lost. 0x0 table 112: uart2_srbr_sthr15_reg (0x5000116c) bit mode symbol description reset table 113: uart2_usr_reg (0x5000117c) bit mode symbol description reset 15:5 - - reserved 0x0 4 r uart_rff receive fifo full. this is used to indicate that the receive fifo is completely full. 0 = receive fifo not full 1 = receive fifo full this bit is cleared when the rx fifo is no longer full. 0x0 3 r uart_rfne receive fifo not empty. this is used to indicate that the receive fifo contains one or more entries. 0 = receive fifo is empty 1 = receive fifo is not empty this bit is cleared when the rx fifo is empty. 0x0 2 r uart_tfe transmit fifo empty. this is used to indicate that the transmit fifo is completely empty. 0 = transmit fifo is not empty 1 = transmit fifo is empty this bit is cleared when the tx fifo is no longer empty. 0x1
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 92 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 1 r uart_tfnf transmit fifo not full. this is used to indicate that the transmit fifo in not full. 0 = transmit fifo is full 1 = transmit fifo is not full this bit is cleared when the tx fifo is full. 0x1 0 - - reserved 0x0 table 113: uart2_usr_reg (0x5000117c) bit mode symbol description reset table 114: uart2_tfl_reg (0x50001180) bit mode symbol description reset 15:0 r uart_transmit_f ifo_level transmit fifo level. this is indicates the number of data entries in the transmit fifo. 0x0 table 115: uart2_rfl_reg (0x50001184) bit mode symbol description reset 15:0 r uart_receive_fi fo_level receive fifo level. this is indicates the number of data entries in the receive fifo. 0x0 table 116: uart2_srr_reg (0x50001188) bit mode symbol description reset 15:3 - - reserved 0x0 2 w uart_xfr xmit fifo reset. this is a shadow register for the xmit fifo reset bit (fcr[2]). this can be used to remove the burden on soft- ware having to store previously written fcr values (which are pretty static) just to reset the transmit fifo. this resets the control portion of the transmit fifo and treats the fifo as empty. note that this bit is 'self-clearing'. it is not neces- sary to clear this bit. 0x0 1 w uart_rfr rcvr fifo reset. this is a shadow register for the rcvr fifo reset bit (fcr[1]). this can be used to remove the burden on soft- ware having to store previously written fcr values (which are pretty static) just to reset the receive fifo this resets the control portion of the rece ive fifo and treats the fifo as empty. note that this bit is 'self-cleari ng'. it is not necessary to clear this bit. 0x0 0 w uart_ur uart reset. this asynchronously resets the uart ctrl and synchronously removes the rese t assertion. for a two clock implementation both pclk and sclk domains are reset. 0x0 table 117: uart2_srts_reg (0x5000118c) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 93 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_shadow_r equest_to_send shadow request to send. this is a shadow register for the rts bit (mcr[1]), this can be used to remove the burden of having to perform a read- modify-write on the mcr. this is used to directly control the request to send (rts_n) output. the request to send (rts_n) output is used to inform the modem or data set that the uart ctrl is ready to exchange data. when auto flow control is di sabled (mcr[5] = 0), the rts_n signal is set low by programming mcr[1] (rts) to a high. when auto flow control is enabled (mcr[5] = 1) and fifos are enabled (fcr[0] = 1), the rts _n output is controlled in the same way, but is also gated wit h the receiver fifo threshold trigger (rts_n is inactive high when above the threshold). note that in loopback mode (mcr[ 4] = 1), the rts_n output is held inactive-high while the value of this location is internally looped back to an input. 0x0 table 117: uart2_srts_reg (0x5000118c) bit mode symbol description reset table 118: uart2_sbcr_reg (0x50001190) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w uart_shadow_b reak_control shadow break control bit. this is a shadow register for the break bit (lcr[6]), this can be used to remove the burden of having to performing a read modify write on the lcr. this is used to cause a break con- dition to be transmitted to the receiving device. if set to one the serial output is forced to the spacing (logic 0) state. when not in loopback mode, as determined by mcr[4], the sout line is forced low until the break bit is cleared. if sir_mode active (mcr[6] = 1) the sir_out_n line is con- tinuously pulsed. when in loopback mode, the break condi- tion is internally looped back to the receiver. 0x0 table 119: uart2_sdmam_reg (0x50001194) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w uart_shadow_d ma_mode shadow dma mode. this is a shadow register for the dma mode bit (fcr[3]). this can be used to remove the burden of having to store the previously written value to the fcr in memory and having to mask this value so that only the dma mode bit gets updated. this determines the dma signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1 0x0 table 120: uart2_sfe_reg (0x50001198) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 94 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_shadow_fi fo_enable shadow fifo enable. this is a shadow register for the fifo enable bit (fcr[0]). this can be used to remove the burden of having to store the previously written value to the fcr in memory and having to mask this value so that only the fifo enable bit gets updated.this enables/disables the transmit (xmit) and receive (rcvr) fifos. if this bi t is set to zero (disabled) after being enabled then both t he xmit and rcvr controller portion of fifos are reset. 0x0 table 120: uart2_sfe_reg (0x50001198) bit mode symbol description reset table 121: uart2_srt_reg (0x5000119c) bit mode symbol description reset 15:2 - - reserved 0x0 1:0 r/w uart_shadow_r cvr_trigger shadow rcvr trigger. this is a shadow register for the rcvr trigger bits (fcr[7:6]). this can be used to remove the burden of having to store the previous ly written value to the fcr in memory and having to mask this value so that only the rcvr trigger bit gets updated. this is used to select the trigger level in the receiver fifo at which the received data availabl e interrupt is generated. it also determines when the dma_rx_req_n signal is asserted when dma mode (fcr[3]) = 1. the following trigger levels are supported: 00 = 1 character in the fifo 01 = fifo a? full 10 = fifo a? full 11 = fifo 2 less than full 0x0 table 122: uart2_stet_reg (0x500011a0) bit mode symbol description reset 15:2 - - reserved 0x0 1:0 r/w uart_shadow_tx _empty_trigger shadow tx empty trigger. this is a shadow register for the tx empty trigger bits (fcr[5:4]). this can be used to remove the burden of having to store the previous ly written value to the fcr in memory and having to mask this value so that only the tx empty trig- ger bit gets updated. this is used to select the empty threshold level at which the thre interrupts are generated when the mode is active. the following trigger levels are supported: 00 = fifo empty 01 = 2 characters in the fifo 10 = fifo a? full 11 = fifo a? full 0x0 table 123: uart2_htx_reg (0x500011a4) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 95 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w uart_halt_tx this register is use to halt transmissions for testing, so that the transmit fifo can be fille d by the master when fifos are implemented and enabled. 0 = halt tx disabled 1 = halt tx enabled note, if fifos are implemented and not enabled, the setting of the halt tx register ha s no effect on operation. 0x0 table 123: uart2_htx_reg (0x500011a4) bit mode symbol description reset table 124: uart2_cpr_reg (0x500011f4) bit mode symbol description reset 15:0 r cpr component parameter register 0x0 table 125: uart2_ucv_reg (0x500011f8) bit mode symbol description reset 15:0 r ucv component version 0x33303 82a table 126: uart2_ctr_reg (0x500011fc) bit mode symbol description reset 15:0 r ctr component type register 0x44570 110 table 127: spi_ctrl_reg (0x50001200) bit mode symbol description reset 15 r/w spi_en_ctrl 0 = spi_en pin disabled in slave mode. pin spi_en is don't care. 1 = spi_en pin enabled in slave mode. 0x0 14 r/w spi_mint 0 = disable spi_int_b it to the inte rrupt controller 1 = enable spi_int_bit to the interrupt controller 0x0 13 r spi_int_bit 0 = rx register or fifo is empty. 1 = spi interrupt. data has been transmitted and received- must be reset by sw by writing to spi_clear_int_reg. 0x0 12 r spi_di returns the actual valu e of pin spi_din (delayed with two internal spi clock cycles) 0x0 11 r spi_txh 0 = tx-fifo is not full, data can be written. 1 = tx-fifo is full, data can not be written. 0x0 10 r/w spi_force_do 0 = normal operation 1 = force spido output level to value of spi_do. 0x0 9 r/w spi_rst 0 = normal operation 1 = reset spi. same function as spi_on except that inter- nal clock remain active. 0x0 8:7 r/w spi_word 00 = 8 bits mode, only spi_rx_tx_reg0 used 01 = 16 bit mode, only spi_rx_tx_reg0 used 10 = 32 bits mode, spi_rx_tx_reg0 & spi_rx_tx_reg1 used 11 = 9 bits mode. only valid in master mode. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 96 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 6 r/w spi_smn master/slave mode 0 = master, 1 = slave(spi1 only) 0x0 5 r/w spi_do pin spi_do output level when spi is idle or when spi_force_do=1 0x0 4:3 r/w spi_clk select spi_clk clo ck frequency in master mode:00 = (xtal) / (clk_per_reg *8) 01 = (xtal) / (clk_per_reg *4) 10 = (xtal) / (clk_per_reg *2) 11 = (xtal) / (clk_per_reg *14) 0x0 2 r/w spi_pol select spi_clk polarity. 0 = spi_clk is initially low. 1 = spi_clk is initially high. 0x0 1 r/w spi_pha select spi_clk phase. see functional timing diagrams in spi chapter 0x0 0 r/w spi_on 0 = spi module switched off (power saving). everything is reset except spi_ctrl_reg0 and spi_ctrl_reg1. when this bit is cleared the spi will remain active in master mode until the shift register and holding register are both empty. 1 = spi module switched on. should only be set after all con- trol bits have their desired values. so two writes are needed! 0x0 table 127: spi_ctrl_reg (0x50001200) bit mode symbol description reset table 128: spi_rx_tx_reg0 (0x50001202) bit mode symbol description reset 15:0 r0/w spi_data0 write: spi_tx_re g0 output register 0 (tx-fifo) read: spi_rx_reg0 input register 0 (rx-fifo) in 8 or 9 bits mode bits 15 to 8 are not used, they contain old data. 0x0 table 129: spi_rx_tx_reg1 (0x50001204) bit mode symbol description reset 15:0 r0/w spi_data1 write: spi_tx_reg1 output register 1 (msb's of tx-fifo) read: spi_rx_reg1 input register 1 (msb's of rx-fifo) in 8 or 9 or 16 bits mode bits this register is not used. 0x0 table 130: spi_clear_int_reg (0x50001206) bit mode symbol description reset 15:0 r0/w spi_clear_int writing any value to this register will clear the spi_ctrl_reg[spi_int_bit] reading returns 0. 0x0 table 131: spi_ctrl_reg1 (0x50001208) bit mode symbol description reset 15:5 - - reserved 0x0 4 r/w spi_9bit_val determines the value of t he first bit in 9 bits spi mode. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 97 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r spi_busy 0 = the spi is not busy with a transfer. this means that either no tx-data is available or that the transfers have been suspended due to a full rx-fifo. the spix_ctrl_reg0[spi_int_bit] can be used to distinguish between these situations. 1 = the spi is busy with a transfer. 0x0 2 r/w spi_priority 0 = the spi has low priority, the dma request signals are reset after the corresponding acknowledge. 1 = the spi has high priority, dma request signals remain active until the fifos are fille d/emptied, so the dma holds the ahb bus. 0x0 1:0 r/w spi_fifo_mode 0: tx-fifo and rx-fifo used (bidirectional mode). 1: rx-fifo used (read only mode) tx-fifo single depth, no flow control 2: tx-fifo used (write only mode), rx-fifo single depth, no flow control 3: no fifos used (backwards compatible mode) 0x3 table 131: spi_ctrl_reg1 (0x50001208) bit mode symbol description reset table 132: i2c_con_reg (0x50001300) bit mode symbol description reset 15:7 - - reserved 0x0 6 r/w i2c_slave_disabl e slave enabled or disabled after reset is applied, which means software does not have to configure the slave. 0=slave is enabled 1=slave is disabled software should ensure that if this bit is written with '0', then bit 0 should also be written with a '0'. 0x1 5 r/w i2c_restart_en determi nes whether restart conditions may be sent when acting as a master 0= disable 1=enable 0x1 4 r/w i2c_10bitaddr_ma ster controls whether the controller st arts its transfers in 7- or 10- bit addressing mode when acting as a master. 0= 7-bit addressing 1= 10-bit addressing 0x1 3 r/w i2c_10bitaddr_sl ave when acting as a slave, this bi t controls whether the control- ler responds to 7- or 10-bit addresses. 0= 7-bit addressing 1= 10-bit addressing 0x1 2:1 r/w i2c_speed these bits control at which speed the co ntroller operates. 1= standard mode (100 kbit/s) 2= fast mode (400 kbit/s) 0x2 0 r/w i2c_master_mod e this bit controls whether th e controller master is enabled. 0= master disabled 1= master enabled software should ensure that if this bit is written with '1' then bit 6 should also be written with a '1'. 0x1 table 133: i2c_tar_reg (0x50001304) bit mode symbol description reset 15:12 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 98 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 11 r/w special this bit indicates whether software performs a general call or start byte command. 0: ignore bit 10 gc_or_start and use ic_tar normally 1: perform special i2c co mmand as specified in gc_or_start bit 0x0 10 r/w gc_or_start if bit 11 (special) is se t to 1, then this bit indicates whether a general call or start byte command is to be performed by the controller. 0: general call address - after issuing a general call, only writes may be performed. at tempting to issue a read com- mand results in setting bit 6 (tx_abrt) of the ic_raw_intr_stat register. the controller remains in general call mode until the special bit value (bit 11) is cleared. 1: start byte 0x0 9:0 r/w ic_tar this is the target addres s for any master transaction. when transmitting a general call, these bits are ignored. to gener- ate a start byte, the cpu needs to write only once into these bits. note: if the ic_tar and ic_sar are the same, loopback exists but the fifos are shar ed between master and slave, so full loopback is not feasible. only one direction loopback mode is supported (simplex), not duplex. a master cannot transmit to itself; it can transmit to only a slave 0x55 table 133: i2c_tar_reg (0x50001304) bit mode symbol description reset table 134: i2c_sar_reg (0x50001308) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w ic_sar the ic_sar holds the slave address when the i2c is operat- ing as a slave. for 7-bit addressing, only ic_sar[6:0] is used. this register can be wr itten only when the i2c inter- face is disabled, which corresponds to the ic_enable reg- ister being set to 0. writes at other times have no effect. 0x55 table 135: i2c_data_cmd_reg (0x50001310) bit mode symbol description reset 15:9 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 99 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 8 r/w cmd this bit controls whether a read or a write is performed. this bit does not control the directio n when the i2c ctrl acts as a slave. it controls only the direct ion when it acts as a master. 1 = read 0 = write when a command is entered in the tx fifo, this bit distin- guishes the write and read commands. in slave-receiver mode, this bit is a "don't care" because writes to this register are not required. in slave-transmitter mode, a "0" indicates that cpu data is to be transmitted and as dat or ic_data_cmd[7:0]. when programming this bit, you should remember the following: attempting to perform a read opera- tion after a general call command has been sent results in a tx_abrt interrupt (bit 6 of the i2c_raw_intr_stat_reg), unless bit 11 (special) in the i2c_tar register has been cleared. if a "1" is written to this bit after receiving a rd_req inter- rupt, then a tx_abrt interrupt occurs. note: it is possible that whil e attempting a master i2c read transfer on the controller, a rd_req interrupt may have occurred simultaneously due to a remote i2c master addressing the controller. in th is type of scenario, it ignores the i2c_data_cmd write, generates a tx_abrt interrupt, and waits to service the rd_req interrupt 0x0 7:0 r/w dat this register contains the data to be transmitted or received on the i2c bus. if you are writing to this register and want to perform a read, bits 7:0 (dat) are ignored by the controller. however, when you read this register, these bits return the value of data received on the controller's interface. 0x0 table 135: i2c_data_cmd_reg (0x50001310) bit mode symbol description reset table 136: i2c_ss_scl_hcnt_reg (0x50001314) bit mode symbol description reset 15:0 r/w ic_ss_scl_hcnt this register must be set before any i2c bus transaction can take place to ensure proper i/o timing. this register sets the scl clock high-period count for standard speed. this regis- ter can be written only when the i2c interface is disabled which corresponds to the ic_enable register being set to 0. writes at other times have no effect. the minimum valid value is 6; hardware prevents values less than this being written, and if attempted results in 6 being set. note: this register must not be programmed to a value higher than 65525, because the controller uses a 16-bit counter to flag an i2c bus idle condition when this counter reaches a value of ic_ss_scl_hcnt + 10. 0x48
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 100 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 137: i2c_ss_scl_lcnt_reg (0x50001318) bit mode symbol description reset 15:0 r/w ic_ss_scl_lcnt this register must be set before any i2c bus transaction can take place to ensure proper i/o timing. this register sets the scl clock low period count for standard speed. this register can be written on ly when the i2c interface is disabled which corresponds to the i2c_enable register being set to 0. writes at other times have no effect. the minimum valid value is 8; hardware prevents values less than this being written, and if attempted, results in 8 being set. 0x4f table 138: i2c_fs_scl_hcnt_reg (0x5000131c) bit mode symbol description reset 15:0 r/w ic_fs_scl_hcnt this register must be set before any i2c bus transaction can take place to ensure proper i/o timing. this register sets the scl clock high-period count for fast speed. it is used in high- speed mode to send the master code and start byte or general call. this register can be written only when the i2c interface is disabled, which corresponds to the i2c_enable register being set to 0. writes at other times have no effect. the minimum valid value is 6; hardware prevents values less than this being written, and if attempted results in 6 being set. 0x8 table 139: i2c_fs_scl_lcnt_reg (0x50001320) bit mode symbol description reset 15:0 r/w ic_fs_scl_lcnt this register must be set before any i2c bus transaction can take place to ensure proper i/o timing. this register sets the scl clock low-period count for fast speed. it is used in high- speed mode to send the master code and start byte or general call. this register can be written only when the i2c interface is disabled, which corresponds to the i2c_enable register being set to 0. writes at other times have no effect. the minimum valid value is 8; hardware prevents values less than this being written, and if attempted results in 8 being set. for designs with apb_data _width = 8 the order of programming is important to ensure the correct operation of the controller. the lower byte must be programmed first. then the upper byte is programmed. 0x17 table 140: i2c_intr_stat_reg (0x5000132c) bit mode symbol description reset 15:12 - - reserved 0x0 11 r r_gen_call set only when a general call address is received and it is acknowledged. it stays set until it is cleared either by disa- bling controller or when the cpu reads bit 0 of the i2c_clr_gen_call register. the controller stores the received data in the rx buffer. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 101 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 10 r r_start_det indicates whether a start or restart condition has occurred on the i2c interface regardless of whether control- ler is operating in slave or master mode. 0x0 9 r r_stop_det indicates whether a stop condition has occurred on the i2c interface regardless of whether controller is operating in slave or master mode. 0x0 8 r r_activity this bit captures i2c ctrl activity and stays set until it is cleared. there are four ways to clear it: => disabling the i2c ctrl => reading the ic_clr_activity register => reading the ic_clr_intr register => system reset once this bit is set, it stays set unless one of the four meth- ods is used to clear it. even if the controller module is idle, this bit remains set until cleared, indicating that there was activity on the bus. 0x0 7 r r_rx_done when the controller is acting as a slave-transmitter, this bit is set to 1 if the master does not acknowledge a transmitted byte. this occurs on the last byte of the transmission, indi- cating that the transmission is done. 0x0 6 r r_tx_abrt this bit indicates if the co ntroller, as an i2c transmitter, is unable to complete the intended actions on the contents of the transmit fifo. this situation can occur both as an i2c master or an i2c slave, and is referred to as a "transmit abort". when this bit is set to 1, the i2c_tx_abrt_source regis- ter indicates the reason why the transmit abort takes places. note: the controller flushes/r esets/empties the tx fifo whenever this bit is set. the tx fifo remains in this flushed state until the register i2c_clr_tx_abrt is read. once this read is performed, the tx fifo is then ready to accept more data bytes from the apb interface. 0x0 5 r r_rd_req this bit is set to 1 when the controller is acting as a slave and another i2c master is atte mpting to read data from the controller. the controller holds the i2c bus in a wait state (scl=0) until this interrupt is serviced, which means that the slave has been addressed by a remo te master that is asking for data to be transferred. the processor must respond to this interrupt and then writ e the requested data to the i2c_data_cmd register. this bit is set to 0 just after the processor reads the i2c_clr_rd_req register 0x0 4 r r_tx_empty this bit is set to 1 when t he transmit buffer is at or below the threshold value set in the i2c_tx_tl register. it is automati- cally cleared by hardware when the buffer level goes above the threshold. when the ic_enable bit 0 is 0, the tx fifo is flushed and held in reset. th ere the tx fifo looks like it has no data within it, so this bit is set to 1, provided there is activity in the master or slav e state machines. when there is no longer activity, then with ic_en=0, this bit is set to 0. 0x0 3 r r_tx_over set during transmit if the transmit buffer is filled to 32 and the processor attempts to issue a nother i2c command by writing to the ic_data_cmd register. when the module is disabled, this bit keeps its level unt il the master or slave state machines go into idle, and when ic_en goes to 0, this inter- rupt is cleared 0x0 table 140: i2c_intr_stat_reg (0x5000132c) bit mode symbol description reset
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 102 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 2 r r_rx_full set when the receive buffer reaches or goes above the rx_tl threshold in the i2c_rx_tl register. it is automati- cally cleared by hardware when buffer level goes below the threshold. if the module is di sabled (i2c_enable[0]=0), the rx fifo is flushed and held in reset; therefore the rx fifo is not full. so this bit is cleared once the i2c_enable bit 0 is programmed with a 0, regardless of the activity that contin- ues. 0x0 1 r r_rx_over set if the receive buffer is completely filled to 32 and an addi- tional byte is received from an external i2c device. the con- troller acknowledges this, but any data bytes received after the fifo is full are lost. if the module is disabled (i2c_enable[0]=0), this bit keeps its level until the master or slave state machines go into idle, and when ic_en goes to 0, this interrupt is cleared. 0x0 0 r r_rx_under set if the processor attempts to read the receive buffer when it is empty by reading from the ic_data_cmd register. if the module is disabled (i2c_enable[0]=0), this bit keeps its level until the master or slave state machines go into idle, and when ic_en goes to 0, this interrupt is cleared. 0x0 table 140: i2c_intr_stat_reg (0x5000132c) bit mode symbol description reset table 141: i2c_intr_mask_reg (0x50001330) bit mode symbol description reset 15:12 - - reserved 0x0 11 r/w m_gen_call these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 10 r/w m_start_det these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x0 9 r/w m_stop_det these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x0 8 r/w m_activity these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x0 7 r/w m_rx_done these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 6 r/w m_tx_abrt these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 5 r/w m_rd_req these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 4 r/w m_tx_empty these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 3 r/w m_tx_over these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 2 r/w m_rx_full these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 1 r/w m_rx_over these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1 0 r/w m_rx_under these bits mask their corresponding interrupt status bits in the i2c_intr_stat register. 0x1
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 103 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 142: i2c_raw_intr_stat_reg (0x50001334) bit mode symbol description reset 15:12 - - reserved 0x0 11 r gen_call set only when a general ca ll address is received and it is acknowledged. it stays set until it is cleared either by disa- bling controller or when the cpu reads bit 0 of the i2c_clr_gen_call register. i2c ctrl stores the received data in the rx buffer. 0x0 10 r start_det indicates whether a start or restart condition has occurred on the i2c interface regardless of whether control- ler is operating in slave or master mode. 0x0 9 r stop_det indicates whether a stop condition has occurred on the i2c interface regardless of whether controller is operating in slave or master mode. 0x0 8 r activity this bit captures i2c ctrl activity and stays set until it is cleared. there are four ways to clear it: => disabling the i2c ctrl => reading the ic_clr_activity register => reading the ic_clr_intr register => system reset once this bit is set, it stays set unless one of the four meth- ods is used to clear it. even if the controller module is idle, this bit remains set until cleared, indicating that there was activity on the bus. 0x0 7 r rx_done when the controller is acting as a slave-transmitter, this bit is set to 1 if the master does not acknowledge a transmitted byte. this occurs on the last byte of the transmission, indi- cating that the transmission is done. 0x0 6 r tx_abrt this bit indicates if the co ntroller, as an i2c transmitter, is unable to complete the intended actions on the contents of the transmit fifo. this situation can occur both as an i2c master or an i2c slave, and is referred to as a "transmit abort". when this bit is set to 1, the i2c_tx_abrt_source regis- ter indicates the reason why the transmit abort takes places. note: the controller flushes/r esets/empties the tx fifo whenever this bit is set. the tx fifo remains in this flushed state until the register i2c_clr_tx_abrt is read. once this read is performed, the tx fifo is then ready to accept more data bytes from the apb interface. 0x0 5 r rd_req this bit is set to 1 when i2c ctrl is acting as a slave and another i2c master is attempting to read data from the con- troller. the controller holds the i2c bus in a wait state (scl=0) until this interrupt is serviced, which means that the slave has been addressed by a remo te master that is asking for data to be transferred. the processor must respond to this interrupt and then writ e the requested data to the i2c_data_cmd register. this bit is set to 0 just after the processor reads the i2c_clr_rd_req register 0x0 4 r tx_empty this bit is set to 1 when the transmit buffer is at or below the threshold value set in the i2c_tx_tl register. it is automati- cally cleared by hardware when the buffer level goes above the threshold. when the ic_enable bit 0 is 0, the tx fifo is flushed and held in reset. th ere the tx fifo looks like it has no data within it, so this bit is set to 1, provided there is activity in the master or slav e state machines. when there is no longer activity, then with ic_en=0, this bit is set to 0. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 104 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r tx_over set during transmit if the transmit buffer is filled to 32 and the processor attempts to issue a nother i2c command by writing to the ic_data_cmd register. when the module is disabled, this bit keeps its level unt il the master or slave state machines go into idle, and when ic_en goes to 0, this inter- rupt is cleared 0x0 2 r rx_full set when the receive buffer reaches or goes above the rx_tl threshold in the i2c_rx_tl register. it is automati- cally cleared by hardware when buffer level goes below the threshold. if the module is di sabled (i2c_enable[0]=0), the rx fifo is flushed and held in reset; therefore the rx fifo is not full. so this bit is cleared once the i2c_enable bit 0 is programmed with a 0, regardless of the activity that contin- ues. 0x0 1 r rx_over set if the receive buffer is completely filled to 32 and an addi- tional byte is received from an external i2c device. the con- troller acknowledges this, but any data bytes received after the fifo is full are lost. if the module is disabled (i2c_enable[0]=0), this bit keeps its level until the master or slave state machines go into idle, and when ic_en goes to 0, this interrupt is cleared. 0x0 0 r rx_under set if the processor attempts to read the receive buffer when it is empty by reading from the ic_data_cmd register. if the module is disabled (i2c_enable[0]=0), this bit keeps its level until the master or slave state machines go into idle, and when ic_en goes to 0, this interrupt is cleared. 0x0 table 142: i2c_raw_intr_stat_reg (0x50001334) bit mode symbol description reset table 143: i2c_rx_tl_reg (0x50001338) bit mode symbol description reset 15:5 - - reserved 0x0 4:0 r/w rx_tl receive fifo threshold lev el controls the level of entries (or above) that triggers the rx_full interrupt (bit 2 in i2c_raw_intr_stat register). the valid range is 0-31, with the additional restriction that hardware does not allow this value to be set to a value larger than the depth of the buffer. if an attempt is made to do that, the ac tual value set will be the maximum depth of the buffer. a value of 0 sets the threshold for 1 entry, and a value of 31 sets the threshold for 32 entries. 0x0 table 144: i2c_tx_tl_reg (0x5000133c) bit mode symbol description reset 15:5 - - reserved 0x0 4:0 r/w rx_tl transmit fifo threshold level controls the level of entries (or below) that trigger the tx_empty interrupt (bit 4 in i2c_raw_intr_stat register). the valid range is 0-31, with the additional restriction that it may not be set to value larger than the depth of the buffer. if an attempt is made to do that, the actual value set will be the maximum depth of the buffer. a value of 0 sets the threshold for 0 entries, and a value of 31 sets the threshold for 32 entries.. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 105 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 145: i2c_clr_intr_reg (0x50001340) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_intr read this register to clear the combined interrupt, all individ- ual interrupts, and the i2c_tx_abrt_source register. this bit does not clear hardware clearable interrupts but soft- ware clearable interrupts. refer to bit 9 of the i2c_tx_abrt_source register for an exception to clear- ing i2c_tx_abrt_source 0x0 table 146: i2c_clr_rx_under_reg (0x50001344) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_rx_under read this register to cl ear the rx_under interrupt (bit 0) of the i2c_raw_intr_stat register. 0x0 table 147: i2c_clr_rx_over_reg (0x50001348) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_rx_over read this register to cl ear the rx_over interrupt (bit 1) of the i2c_raw_intr_stat register. 0x0 table 148: i2c_clr_tx_over_reg (0x5000134c) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_tx_over read this register to clear the tx_over interrupt (bit 3) of the i2c_raw_intr_stat register. 0x0 table 149: i2c_clr_rd_req_reg (0x50001350) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_rd_req read this register to clear the rd_req interrupt (bit 5) of the i2c_raw_intr_stat register. 0x0 table 150: i2c_clr_tx_abrt_reg (0x50001354) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_tx_abrt read this register to clear the tx_abrt interrupt (bit 6) of the ic_raw_intr_stat register, and the i2c_tx_abrt_source register. this also releases the tx fifo from the flushed/reset st ate, allowing more writes to the tx fifo. refer to bit 9 of the i2c_tx_abrt_source register for an exception to clearing ic_tx_abrt_source. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 106 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 151: i2c_clr_rx_done_reg (0x50001358) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_rx_done read this register to clear the rx_done interrupt (bit 7) of the i2c_raw_intr_stat register. 0x0 table 152: i2c_clr_activity_reg (0x5000135c) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_activity reading this register clea rs the activity interrupt if the i2c is not active anymore. if the i2c module is still active on the bus, the activity interrupt bit continues to be set. it is auto- matically cleared by hardware if the module is disabled and if there is no further activity on the bus. the value read from this register to get status of th e activity interrupt (bit 8) of the ic_raw_intr_stat register 0x0 table 153: i2c_clr_stop_det_reg (0x50001360) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_activity reading this register clea rs the activity interrupt if the i2c is not active anymore. if the i2c module is still active on the bus, the activity interrupt bit continues to be set. it is auto- matically cleared by hardware if the module is disabled and if there is no further activity on the bus. the value read from this register to get status of th e activity interrupt (bit 8) of the ic_raw_intr_stat register. 0x0 table 154: i2c_clr_start_det_reg (0x50001364) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_start_det read this register to clear the start_det interrupt (bit 10) of the ic_raw_intr_stat register. 0x0 table 155: i2c_clr_gen_call_reg (0x50001368) bit mode symbol description reset 15:1 - - reserved 0x0 0 r clr_gen_call read this register to clear the gen_call interrupt (bit 11) of i2c_raw_intr_stat register. 0x0 table 156: i2c_enable_reg (0x5000136c) bit mode symbol description reset 15:1 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 107 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r/w ctrl_enable controls whether the controller is enabled. 0: disables the controller (tx and rx fifos are held in an erased state) 1: enables the controller software can disable the controller while it is active. how- ever, it is important that care be taken to ensure that the con- troller is disabled properly. when the controller is disabled, the following occurs: * the tx fifo and rx fifo get flushed. * status bits in the ic_intr_stat register are still active until the controller goes into idle state. if the module is transmitting, it stops as well as deletes the contents of the transmit buffer after the current transfer is complete. if the module is receiving, the controller stops the current transfer at the end of the current byte and does not acknowledge the transfer. there is a two ic_clk delay when enabling or disabling the controller 0x0 table 156: i2c_enable_reg (0x5000136c) bit mode symbol description reset table 157: i2c_status_reg (0x50001370) bit mode symbol description reset 15:7 - - reserved 0x0 6 r slv_activity slave fsm activity st atus. when the slave finite state machine (fsm) is not in the idle state, this bit is set. 0: slave fsm is in idle state so the slave part of the con- troller is not active 1: slave fsm is not in idle state so the slave part of the controller is active 0x0 5 r mst_activity master fsm activity st atus. when the master finite state machine (fsm) is not in the idle state, this bit is set. 0: master fsm is in idle state so the master part of the con- troller is not active 1: master fsm is not in idle st ate so the master part of the controller is active 0x0 4 r rff receive fifo completely fu ll. when the receive fifo is completely full, this bit is set. when the receive fifo con- tains one or more empty location, this bit is cleared. 0: receive fifo is not full 1: receive fifo is full 0x0 3 r rfne receive fifo not empty. this bit is set when the receive fifo contains one or more entries; it is cleared when the receive fifo is empty. 0: receive fifo is empty 1: receive fifo is not empty 0x0 2 r tfe transmit fifo completely empty. when the transmit fifo is completely empty, this bit is set. when it contains one or more valid entries, this bit is cleared. this bit field does not request an interrupt. 0: transmit fifo is not empty 1: transmit fifo is empty 0x1 1 r tfnf transmit fifo not full. set w hen the transmit fifo contains one or more empty locations, and is cleared when the fifo is full. 0: transmit fifo is full 1: transmit fifo is not full 0x1
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 108 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r i2c_activity i2c activity status. 0x0 table 157: i2c_status_reg (0x50001370) bit mode symbol description reset table 158: i2c_txflr_reg (0x50001374) bit mode symbol description reset 15:6 - - reserved 0x0 5:0 r txflr transmit fifo level. contains the number of valid data entries in the transmit fifo. size is constrained by the txflr value 0x0 table 159: i2c_rxflr_reg (0x50001378) bit mode symbol description reset 15:6 - - reserved 0x0 5:0 r rxflr receive fifo level. c ontains the number of valid data entries in the receive fifo. size is constrained by the rxflr value 0x0 table 160: i2c_sda_hold_reg (0x5000137c) bit mode symbol description reset 15:0 r/w ic_sda_hold sda hold time 0x1 table 161: i2c_tx_abrt_source_reg (0x50001380) bit mode symbol description reset 15 r abrt_slvrd_intx 1: when the processor side responds to a slave mode request for data to be transmitted to a remote master and user writes a 1 in cmd (bit 8) of 2ic_data_cmd register 0x0 14 r abrt_slv_arblos t 1: slave lost the bus while transmitting data to a remote master. i2c_tx_abrt_source[12] is set at the same time. note: even though the slave never "owns" the bus, something could go wrong on the bus. this is a fail safe check. for instance, during a data transmission at the low-to-high tran- sition of scl, if what is on the data bus is not what is sup- posed to be transmitted, then the controller no longer own the bus. 0x0 13 r abrt_slvflush_t xfifo 1: slave has received a read command and some data exists in the tx fifo so the slave issues a tx_abrt inter- rupt to flush old data in tx fifo. 0x0 12 r arb_lost 1: master has lost arbitration, or if i2c_tx_abrt_source[14] is also set, then the slave transmitter has lost arbitratio n. note: i2c can be both master and slave at the same time. 0x0 11 r abrt_master_dis 1: user tries to initia te a master operation with the master mode disabled. 0x0 10 r abrt_10b_rd_no rstrt 1: the restart is disabled (ic_restart_en bit (i2c_con[5]) = 0) and the ma ster sends a read command in 10-bit addressing mode. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 109 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 9 r abrt_sbyte_nor strt to clear bit 9, the source of the abrt_sbyte_norstrt must be fixed first; restart must be enabled (i2c_con[5]=1), the special bit must be cleared (i2c_tar[11]), or the gc_or_start bit must be cleared (i2c_tar[10]). once the source of the abrt_sbyte_norstrt is fixed, then this bit can be cleared in the same manner as other bits in this register. if the source of the abrt_sbyte_norstrt is not fixed before attempting to clear this bit, bit 9 clears for one cycle and then gets re-asserte d. 1: the restart is disa- bled (ic_restart_en bit (i2c_con[5]) = 0) and the user is trying to send a start byte. 0x0 8 r abrt_hs_norstr t 1: the restart is disabled (ic_restart_en bit (i2c_con[5]) = 0) and the user is trying to use the master to transfer data in high speed mode 0x0 7 r abrt_sbyte_ack det 1: master has sent a start byte and the start byte was acknowledged (wrong behavior). 0x0 6 r abrt_hs_ackdet 1: master is in high speed mode and the high speed master code was acknowledged (wrong behavior). 0x0 5 r abrt_gcall_rea d 1: the controller in master mo de sent a general call but the user programmed the byte following the general call to be a read from the bus (ic_data_cmd[9] is set to 1). 0x0 4 r abrt_gcall_noa ck 1: the controller in master mode sent a general call and no slave on the bus acknowledged the general call. 0x0 3 r abrt_txdata_no ack 1: this is a master-mode onl y bit. master has received an acknowledgement for the address, but when it sent data byte(s) following the address, it did not receive an acknowl- edge from the remote slave(s). 0x0 2 r abrt_10addr2_n oack 1: master is in 10-bit address mode and the second address byte of the 10-bit address was not acknowledged by any slave. 0x0 1 r abrt_10addr1_n oack 1: master is in 10-bit addre ss mode and the first 10-bit address byte was not acknowledged by any slave. 0x0 0 r abrt_7b_addr_n oack 1: master is in 7-bit addres sing mode and the address sent was not acknowledged by any slave. 0x0 table 161: i2c_tx_abrt_source_reg (0x50001380) bit mode symbol description reset table 162: i2c_sda_setup_reg (0x50001394) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w sda_setup sda setup. this register controls the amount of time delay (number of i2c clock periods) between the rising edge of scl and sda changing by holding scl low when i2c block services a read request while operating as a slave-transmitter. the rele- vant i2c requirement is tsu:da t (note 4) as detailed in the i2c bus specification. this register must be programmed with a value equal to or greater than 2. it is recommended that if the required delay is 1000ns, then for an i2c frequency of 10 mhz, ic_sda_setup should be programmed to a value of 11.writes to this register succeed only when ic_enable[0] = 0. 0x64
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 110 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 163: i2c_ack_general_call_reg (0x50001398) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w ack_gen_call ack general call. when set to 1, i2c ctrl responds with a ack (by asserting ic_data_oe) when it receives a general call. when set to 0, the contro ller does not generate general call interrupts. 0x0 table 164: i2c_enable_status_reg (0x5000139c) bit mode symbol description reset 15:3 - - reserved 0x0 2 r slv_rx_data_los t slave received data lost. this bit indicates if a slave- receiver operation has been aborted with at least one data byte received from an i2c transfer due to the setting of ic_enable from 1 to 0. when read as 1, the controller is deemed to have been actively engaged in an aborted i2c transfer (with matching addre ss) and the data phase of the i2c transfer has been entered, even though a data byte has been responded with a nack. note: if the remote i2c mas- ter terminates the transfer with a stop condition before the controller has a chance to nack a transfer, and ic_enable has been set to 0, then this bit is also set to 1. when read as 0, the controller is deemed to have been disa- bled without being actively involved in the data phase of a slave-receiver transfer. note: the cpu can safely read this bit when ic_en (bit 0) is read as 0. 0x0 1 r slv_disabled_wh ile_busy slave disabled while busy (transmit, receive). this bit indi- cates if a potential or active slave operation has been aborted due to the setting of the ic_enable register from 1 to 0. this bit is set when the cpu writes a 0 to the ic_enable register while: (a) i2c ctrl is receiving the address byte of the slave-trans- mitter operation from a remote master; or, (b) address and data bytes of the slave-receiver operation from a remote master. when read as 1, the controller is deemed to have forced a nack during any part of an i2c transfer, irrespective of w hether the i2c address matches the slave address set in i2c ctrl (ic_sar register) or if the transfer is completed before ic_enable is set to 0 but has not taken effect. note: if the remote i2c master terminates the transfer with a stop condition before the the controller has a chance to nack a transfer, and ic_enable has been set to 0, then this bit will also be set to 1. when read as 0, the controller is deemed to have been disa- bled when there is master activity, or when the i2c bus is idle. note: the cpu can safely read this bit when ic_en (bit 0) is read as 0. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 111 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 0 r ic_en ic_en status. this bit always reflects the value driven on the output port ic_en. when read as 1, the controller is deemed to be in an enabled state. when read as 0, the controller is deemed completely inac- tive. note: the cpu can safely read this bit anytime. when this bit is read as 0, the cpu can safely read slv_rx_data_lost (bit 2) and slv_disabled_while_busy (bit 1). 0x0 table 164: i2c_enable_status_reg (0x5000139c) bit mode symbol description reset table 165: i2c_ic_fs_spklen_reg (0x500013a0) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w ic_fs_spklen this register must be set before any i2c bus transaction can take place to ensure stable operation. this register sets the duration, measured in ic_clk cycles, of the longest spike in the scl or sda lines that wil l be filtered out by the spike suppression logic. this register can be written only when the i2c interface is disabled which corresponds to the ic_enable register being set to 0. writes at other times have no effect. the minimum valid value is 2; hardware pre- vents values less than this being written, and if attempted results in 2 being set. 0x1 table 166: gpio_irq0_in_sel_reg (0x50001400) bit mode symbol description reset 15:6 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 112 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 5:0 r/w kbrd_irq0_sel input selection th at can generate a gpio interrupt 0: no input selected 1: p0[0] is selected 2: p0[1] is selected 3: p0[2] is selected 4: p0[3] is selected 5: p0[4] is selected 6: p0[5] is selected 7: p0[6] is selected 8: p0[7] is selected 9: p1[0] is selected 10: p1[1] is selected 11: p1[2] is selected 12: p1[3] is selected 13: p1[4] is selected 14: p1[5] is selected 15: p2[0] is selected 16: p2[1] is selected 17: p2[2] is selected 18: p2[3] is selected 19: p2[4] is selected 20: p2[5] is selected 21: p2[6] is selected 22: p2[7] is selected 23: p2[8] is selected 24: p2[9] is selected 25: p3[0] is selected 26: p3[1] is selected 27: p3[2] is selected 28: p3[3] is selected 29: p3[4] is selected 30: p3[5] is selected 31: p3[6] is selected 32: p3[7] is selected all others: no input selected 0x0 table 166: gpio_irq0_in_sel_reg (0x50001400) bit mode symbol description reset table 167: gpio_irq1_in_sel_reg (0x50001402) bit mode symbol description reset 15:5 - - reserved 0x0 5:0 r/w kbrd_irq1_sel see kbrd_irq0_sel 0x0 table 168: gpio_irq2_in_sel_reg (0x50001404) bit mode symbol description reset 15:5 - - reserved 0x0 5:0 r/w kbrd_irq2_sel see kbrd_irq0_sel 0x0 table 169: gpio_irq3_in_sel_reg (0x50001406) bit mode symbol description reset 15:5 - - reserved 0x0 5:0 r/w kbrd_irq3_sel see kbrd_irq0_sel 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 113 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 170: gpio_irq4_in_sel_reg (0x50001408) bit mode symbol description reset 15:5 - - reserved 0x0 5:0 r/w kbrd_irq4_sel see kbrd_irq0_sel 0x0 table 171: gpio_debounce_reg (0x5000140c) bit mode symbol description reset 15:14 - - reserved 0x0 13 r/w deb_enable_kbr d enables the debounce counter for the kbrd interface 0x0 12 r/w deb_enable4 enables the debounce counter for gpio irq4 0x0 11 r/w deb_enable3 enables the debounce counter for gpio irq3 0x0 10 r/w deb_enable2 enables the debounce counter for gpio irq2 0x0 9 r/w deb_enable1 enables the debounce counter for gpio irq1 0x0 8 r/w deb_enable0 enables the debounce counter for gpio irq0 0x0 7:6 - - reserved 0x0 5:0 r/w deb_value keyboard debounce time if enabl ed. generate keyb_int after specified time. debounce time: n*1 ms. n =0..63 0x0 table 172: gpio_reset_irq_reg (0x5000140e) bit mode symbol description reset 15:6 - - reserved 0x0 5 r0/w reset_kbrd_irq writing a 1 to this bit will reset the kbrd irq. reading returns 0. 0x0 4 r0/w reset_gpio4_irq writi ng a 1 to this bit will reset the gpio4 irq. reading returns 0. 0x0 3 r0/w reset_gpio3_irq writi ng a 1 to this bit will reset the gpio3 irq. reading returns 0. 0x0 2 r0/w reset_gpio2_irq writi ng a 1 to this bit will reset the gpio2 irq. reading returns 0. 0x0 1 r0/w reset_gpio1_irq writi ng a 1 to this bit will reset the gpio1 irq. reading returns 0. 0x0 0 r0/w reset_gpio0_irq writi ng a 1 to this bit will reset the gpio0 irq. reading returns 0. 0x0 table 173: gpio_int_level_ctrl_reg (0x50001410) bit mode symbol description reset 15:14 - - reserved 0x0 12 r/w edge_leveln4 see edge_leve ln0, but for gpio irq4 0x0 11 r/w edge_leveln3 see edge_leve ln0, but for gpio irq3 0x0 10 r/w edge_leveln2 see edge_leve ln0, but for gpio irq2 0x0 9 r/w edge_leveln1 see edge_leveln0, but for gpio irq1 0x0 8 r/w edge_leveln0 0: do not wait for key release after interr upt was reset for gpio irq0, so a new interrupt can be initiated immediately 1: wait for key release after interrupt was reset for irq0 0x0 7:6 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 114 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4 r/w input_level4 see input_leve l0, but for gpio irq4 0x0 3 r/w input_level3 see input_leve l0, but for gpio irq3 0x0 2 r/w input_level2 see input_leve l0, but for gpio irq2 0x0 1 r/w input_level1 see input_leve l0, but for gpio irq1 0x0 0 r/w input_level0 0 = selected input will generate gpio irq0 if that input is high. 1 = selected input will generate gpio irq0 if that input is low. 0x0 table 173: gpio_int_level_ctrl_reg (0x50001410) bit mode symbol description reset table 174: kbrd_irq_in_sel0_reg (0x50001412) bit mode symbol description reset 15 r/w kbrd_rel 0 = no interrupt on key release 1 = interrupt also on key release (also debouncing if ena- bled) 0x0 14 r/w kbrd_level 0 = enabled input will generate kbrd irq if that input is high. 1 = enabled input will generate kbrd irq if that input is low. 0x0 13:8 r/w key_repeat while key is pressed, automatically ge nerate repeating keyb_int after specified time unequal to 0. repeat time: n*1 ms. n =1..63, n=0 disables the timer. 0x0 7 r/w kbrd_p07_en enable p0[7] for the keyboard interrupt 0x0 6 r/w kbrd_p06_en enable p0[6] for the keyboard interrupt 0x0 5 r/w kbrd_p05_en enable p0[5] for the keyboard interrupt 0x0 4 r/w kbrd_p04_en enable p0[4] for the keyboard interrupt 0x0 3 r/w kbrd_p03_en enable p0[3] for the keyboard interrupt 0x0 2 r/w kbrd_p02_en enable p0[2] for the keyboard interrupt 0x0 1 r/w kbrd_p01_en enable p0[1] for the keyboard interrupt 0x0 0 r/w kbrd_p00_en enable p0[0] for the keyboard interrupt 0x0 table 175: kbrd_irq_in_sel1_reg (0x50001414) bit mode symbol description reset 15 r/w kbrd_p15_en enable p1[5] for the keyboard interrupt 0x0 14 r/w kbrd_p14_en enable p1[4] for the keyboard interrupt 0x0 13 r/w kbrd_p13_en enable p1[3] for the keyboard interrupt 0x0 12 r/w kbrd_p12_en enable p1[2] for the keyboard interrupt 0x0 11 r/w kbrd_p11_en enable p1[1] for the keyboard interrupt 0x0 10 r/w kbrd_p10_en enable p1[0] for the keyboard interrupt 0x0 9 r/w kbrd_p29_en enable p2[9] for the keyboard interrupt 0x0 8 r/w kbrd_p28_en enable p2[8] for the keyboard interrupt 0x0 7 r/w kbrd_p27_en enable p2[7] for the keyboard interrupt 0x0 6 r/w kbrd_p26_en enable p2[6] for the keyboard interrupt 0x0 5 r/w kbrd_p25_en enable p2[5] for the keyboard interrupt 0x0 4 r/w kbrd_p24_en enable p2[4] for the keyboard interrupt 0x0 3 r/w kbrd_p23_en enable p2[3] for the keyboard interrupt 0x0 2 r/w kbrd_p22_en enable p2[2] for the keyboard interrupt 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 115 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 1 r/w kbrd_p21_en enable p2[1] for the keyboard interrupt 0x0 0 r/w kbrd_p20_en enable p2[0] for the keyboard interrupt 0x0 table 175: kbrd_irq_in_sel1_reg (0x50001414) bit mode symbol description reset table 176: kbrd_irq_in_sel2_reg (0x50001416) bit mode symbol description reset 7 r/w kbrd_p37_en enable p3[7] for the keyboard interrupt 0x0 6 r/w kbrd_p36_en enable p3[6] for the keyboard interrupt 0x0 5 r/w kbrd_p35_en enable p3[5] for the keyboard interrupt 0x0 4 r/w kbrd_p34_en enable p3[4] for the keyboard interrupt 0x0 3 r/w kbrd_p33_en enable p3[3] for the keyboard interrupt 0x0 2 r/w kbrd_p32_en enable p3[2] for the keyboard interrupt 0x0 1 r/w kbrd_p31_en enable p3[1] for the keyboard interrupt 0x0 0 r/w kbrd_p30_en enable p3[0] for the keyboard interrupt 0x0 table 177: gp_adc_ctrl_reg (0x50001500) bit mode symbol description reset 15 r/w gp_adc_ldo_zer o forces ldo-output to 0v. 0x0 14 r/w gp_adc_ldo_en turns on ldo. 0x0 13 r/w gp_adc_chop takes two samples with opposite gp_adc_sign to cancel the internal offset voltage of the adc; highly recommended for dc-measurements. 0x0 12 r/w gp_adc_mute takes sample at mid-sca le (to dertermine the internal offset and/or noise of the adc with r egards to vdd_ref which is also sampled by the adc). 0x0 11 r/w gp_adc_se 0 = differential mode 1 = single ended mode 0x0 10 r/w gp_adc_sign 0 = default 1 = conversion with opposite sign at input and output to can- cel out the internal offset of the adc and low-frequency 0x0 9:6 r/w gp_adc_sel adc input selection which must be set before the gp_adc_start bit is enabled. if gp_adc_se = 1 (single ended mode): 0000 = p0[0] 0001 = p0[1] 0010 = p0[2] 0011 = p0[3] 0100 = avs 0101 = vdd_ref 0110 = vdd_rtt 0111 = vbat3v 1000 = vdcdc 1001 = vbat1v all other combinations are reserved. if gp_adc_se = 0 (differential mode): 0000 = p0[0] vs p0[1] all other combinations are p0[2] vs p0[3]. 0x0 5 r/w gp_adc_mint 0 = disable (mask) gp_adc_int. 1 = enable gp_adc_int to icu. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 116 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4 r gp_adc_int 1 = ad conversion ready and has generated an interrupt. must be cleared by writing any value to gp_adc_clear_int_reg. 0x0 3 r/w gp_adc_clk_sel 0 = internal high-speed adc clock used. 1 = digital clock used. 0x0 2 - gp_adc_test reserved, keep 0. 0x0 1 r/w gp_adc_start 0 = adc conversion ready. 1 = if a 1 is written, the adc starts a conversion. after the conversion this bit will be set to 0 and the gp_adc_int bit will be set. 0x0 0 r/w gp_adc_en 0 = adc is disabled and in reset. 1 = adc is enabled and sampling of input is started. 0x0 table 177: gp_adc_ctrl_reg (0x50001500) bit mode symbol description reset table 178: gp_adc_ctrl2_reg (0x50001502) bit mode symbol description reset 15:4 - - reserved 0x0 3 r/w gp_adc_i20u adds 20ua constant load current at the adc ldo to mini- mize ripple on the reference voltage of the adc. 0x0 2 r/w gp_adc_idyn enables dynamic load current at the adc ldo to minimize ripple on the reference voltage of the adc. 0x0 1 r/w gp_adc_attn3x 0 = input voltages up to 1.2v allowed. 1 = input voltages up to 3.6v allowed by enabling 3x attenu- ator. 0x0 0 r/w gp_adc_delay_e n enables delay function for several signals. this is not auto- cleared. toggle this bit before every sampling to enable suc- cesive conversions. 0x0 table 179: gp_adc_offp_reg (0x50001504) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w gp_adc_offp offset adjust of 'positiv e' array of adc-network (effective if "gp_adc_se=0", or "gp_adc_se=1 and gp_adc_sign=0") 0x200 table 180: gp_adc_offn_reg (0x50001506) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w gp_adc_offn offset adjust of 'negativ e' array of adc-network (effective if "gp_adc_se=0", or "gp_adc_se=1 and gp_adc_sign=1") 0x200 table 181: gp_adc_clear_int_reg (0x50001508) bit mode symbol description reset 15:0 r0/w gp_adc_clr_int writing any value to this register will clear the adc_int interrupt. reading returns 0. 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 117 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 182: gp_adc_result_reg (0x5000150a) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r gp_adc_val returns the 10 bits linear value of the last ad conversion. 0x0 table 183: gp_adc_delay_reg (0x5000150c) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w del_ldo_en defines the delay before the ldo enable (gp_adc_ldo_en). reset value is 0 s since the ldo enable should be the first thing to be programmed in the sequence of bringing the gp adc up. 0x0 table 184: gp_adc_delay2_reg (0x5000150e) bit mode symbol description reset 15:8 r/w del_adc_start defines the delay for the gp_adc_start bit. reset value is 17 s which is the recommended value to wait before starting the gp adc. this is the third and last step of bring- ing up the gp adc 0x88 7:0 r/w del_adc_en defines the delay for the gp_adc_en bit. reset value is 16 s which is the recommended value to wait after enabling the ldo. this is the second step in bringing up the gp adc. 0x80 table 185: clk_ref_sel_reg (0x50001600) bit mode symbol description reset 15:3 - - reserved 0x0 2 r/w ref_cal_start writing a '1' starts a calibration. this bit is cleared when cali- bration is finished, and clk_ref_val is ready. 0x0 1:0 r/w ref_clk_sel select clock input for calibration: 0x0 : rc32khz oscillator 0x1 : rc16mhz oscillator 0x2 : xtal32khz oscillator 0x3 : rcx32khz oscillator 0x0 table 186: clk_ref_cnt_reg (0x50001602) bit mode symbol description reset 15:0 r/w ref_cnt_val indicates the calibration time, with a decrement counter to 1. 0x0 table 187: clk_ref_val_l_reg (0x50001604) bit mode symbol description reset 15:0 r xtal_cnt_val returns th e lower 16 bits of xta l16 clock cycles during the calibration time, defined with ref_cnt_val 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 118 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 188: clk_ref_val_h_reg (0x50001606) bit mode symbol description reset 15:0 r xtal_cnt_val returns the upper 16 bi ts of xtal16 clock cycles during the calibration time, defined with ref_cnt_val 0x0 table 189: p0_data_reg (0x50003000) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p0_data set p0 output register wh en written; returns the value of p0 port when read 0x0 table 190: p0_set_data_reg (0x50003002) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p0_set writing a 1 to p0[y] sets p0[y] to 1. writing 0 is discarded; reading returns 0 0x0 table 191: p0_reset_data_reg (0x50003004) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p0_reset writing a 1 to p0[y] sets p0[y] to 0. writing 0 is discarded; reading returns 0 0x0 table 192: p00_mode_reg (0x50003006) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 119 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 192: p00_mode_reg (0x50003006) bit mode symbol description reset table 193: p01_mode_reg (0x50003008) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 120 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 193: p01_mode_reg (0x50003008) bit mode symbol description reset table 194: p02_mode_reg (0x5000300a) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 121 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 194: p02_mode_reg (0x5000300a) bit mode symbol description reset table 195: p03_mode_reg (0x5000300c) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 122 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 195: p03_mode_reg (0x5000300c) bit mode symbol description reset table 196: p04_mode_reg (0x5000300e) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 123 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 196: p04_mode_reg (0x5000300e) bit mode symbol description reset table 197: p05_mode_reg (0x50003010) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 124 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 197: p05_mode_reg (0x50003010) bit mode symbol description reset table 198: p06_mode_reg (0x50003012) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 125 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 198: p06_mode_reg (0x50003012) bit mode symbol description reset table 199: p07_mode_reg (0x50003014) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 126 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid function of port 0 = port function, pupd as set above 1 = uart1_rx 2 = uart1_tx 3 = uart2_rx 4 = uart2_tx 5 = spi_di 6 = spi_do 7 = spi_clk 8 = spi_en 9 = i2c_scl 10 = i2c_sda 11 = uart1_irda_rx 12 = uart1_irda_tx 13 = uart2_irda_rx 14 = uart2_irda_tx 15 = adc (only for p0[3:0]) 16 = pwm0 17 = pwm1 18 = ble_diag (only for p0[7:0]) 19 = uart1_ctsn 20 = uart1_rtsn 21 = uart2_ctsn 22 = uart2_rtsn 23 = pwm2 24 = pwm3 25 = pwm4 note: when a certain input function (like spi_di) is selected on more than 1 port pin, the port with the lowest index has the highest priority and p0 has higher priority than p1. 0x0 table 199: p07_mode_reg (0x50003014) bit mode symbol description reset table 200: p1_data_reg (0x50003020) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p1_data set p1 output register wh en written; returns the value of p1 port when read 0x0 table 201: p1_set_data_reg (0x50003022) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p1_set writing a 1 to p1[y] sets p1[y] to 1. writing 0 is discarded; reading returns 0 0x0 table 202: p1_reset_data_reg (0x50003024) bit mode symbol description reset 15:8 - - reserved 0x0 7:0 r/w p1_reset writing a 1 to p1[y] sets p1[y] to 0. writing 0 is discarded; reading returns 0 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 127 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 203: p10_mode_reg (0x50003026) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 204: p11_mode_reg (0x50003028) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 205: p12_mode_reg (0x5000302a) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 206: p13_mode_reg (0x5000302c) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x2 7:5 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 128 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 206: p13_mode_reg (0x5000302c) bit mode symbol description reset table 207: p14_mode_reg (0x5000302e) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 208: p15_mode_reg (0x50003030) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care p14_mode_reg and p15_mode_reg reset value is 1 (i.e. pulled up) 0x1 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 209: p2_data_reg (0x50003040) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w p2_data set p2 output register wh en written; returns the value of p2 port when read 0x0 table 210: p2_set_data_reg (0x50003042) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w p2_set writing a 1 to p2[y] sets p2[y] to 1. writing 0 is discarded; reading returns 0 0x0 table 211: p2_reset_data_reg (0x50003044) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w p2_reset writing a 1 to p2[y] sets p2[y] to 0. writing 0 is discarded; reading returns 0 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 129 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 212: p20_mode_reg (0x50003046) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 213: p21_mode_reg (0x50003048) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 214: p22_mode_reg (0x5000304a) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 215: p23_mode_reg (0x5000304c) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 216: p24_mode_reg (0x5000304e) bit mode symbol description reset 15:10 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 130 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 216: p24_mode_reg (0x5000304e) bit mode symbol description reset table 217: p25_mode_reg (0x50003050) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 218: p26_mode_reg (0x50003052) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 219: p27_mode_reg (0x50003054) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 220: p28_mode_reg (0x50003056) bit mode symbol description reset 15:10 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 131 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 3: in buck mode the output must be powered by the 3 v rail. in boost mode the outputs can be powered by the 1 v rail or by the 3 v rail. in boost mode the 3 v rail can only supply a limited current, e.g. for switching a high-impedance input of an external device. see table 'digital input/output characteristics'. note 4: in buck mode the output must be powered by the 3 v rail. in boost mode the outputs can be powered by the 1 v rail or by the 3 v rail. in boost mode the 3 v rail can only supply a limited current, e.g. for switching a high-impedance input of an external device. see table 'digital input/output characteristics'. note 5: in buck mode the output must be powered by the 3 v rail. in boost mode the outputs can be powered by the 1 v rail or by the 3 v rail. in boost mode the 3 v rail can only supply a limited current, e.g. for switching a high-impedance input of an external device. see table 'digital 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 220: p28_mode_reg (0x50003056) bit mode symbol description reset table 221: p29_mode_reg (0x50003058) bit mode symbol description reset 15:10 - - reserved 0x0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in analog mode, these bits are don't care 0x2 7:5 - - reserved 0x0 4:0 r/w pid see p0x_mode_reg[pid] 0x0 table 222: p01_padpwr_ctrl_reg (0x50003070) bit mode symbol description reset 15:12 - - reserved 0x0 13:8 r/w p1_out_ctrl 1 = p1_x port output is powered by the 1 v rail 0 = p1_x port output is powered by the 3 v rail bit 8 controls the power of p1[0], bit 13 controls the power of p1[5] (note 3) 0x0 7:0 r/w p0_out_ctrl 1 = p0_x port output is powered by the 1 v rail 0 = p0_x port output is powered by the 3 v rail bit 0 controls the power of p0[0], bit 7 controls the power of p0[7] (note 4) 0x0 table 223: p2_padpwr_ctrl_reg (0x50003072) bit mode symbol description reset 15:10 - - reserved 0x0 9:0 r/w p2_out_ctrl 1 = p2_x port output is powered by the 1 v rail 0 = p2_x port output is powered by the 3 v rail bit 0 controls the power of p2[0], bit 9 controls the power of p2[9], (note 5) 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 132 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final input/output characteristics'. note 6: in buck mode the output must be powered by the 3 v rail. in boost mode the outputs can be powered by the 1 v rail or by the 3 v rail. in boost mode the 3 v rail can only supply a limited current, e.g. for switching a high-impedance input of an external device. see table 'digital input/output characteristics'. table 224: p3_padpwr_ctrl_reg (0x50003074) bit mode symbol description reset 15:8 - - reserved 0 7:0 r/w p3_out_ctrl 1 = p3_x port output is powered by the 1 v rail 0 = p3_x port output is powered by the 3 v rail bit 0 controls the power of p3[0], bit 7 controls the power of p3[7], (note 6) 0 table 225: p3_data_reg (0x50003080) bit mode symbol description reset 15:8 - - reserved 0 7:0 r/w p3_data set p3 output register wh en written; returns the value of p3 port when read 0 table 226: p3_set_data_reg (0x50003082) bit mode symbol description reset 15:8 - - reserved 0 7:0 r0/w p3_set writing a 1 to p3[y] sets p3[y] to 1. writing 0 is discarded; reading returns 0 0 table 227: p3_reset_data_reg (0x50003084) bit mode symbol description reset 15:8 - - reserved 0 7:0 r0/w p3_reset writing a 1 to p0[y] sets p0[y] to 0. writing 0 is discarded; reading returns 0 0 table 228: p30_mode_reg (0x50003086) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 229: p31_mode_reg (0x50003088) bit mode symbol description reset 15:10 - - reserved 0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 133 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 229: p31_mode_reg (0x50003088) bit mode symbol description reset table 230: p32_mode_reg (0x5000308a) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 231: p33_mode_reg (0x5000308c) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 232: p34_mode_reg (0x5000308e) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 233: p35_mode_reg (0x50003090) bit mode symbol description reset 15:10 - - reserved 0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 134 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 233: p35_mode_reg (0x50003090) bit mode symbol description reset table 234: p36_mode_reg (0x50003092) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 235: p37_mode_reg (0x50003094) bit mode symbol description reset 15:10 - - reserved 0 9:8 r/w pupd 00 = input, no resistors selected 01 = input, pull-up selected 10 = input, pull-down selected 11 = output, no re sistors selected in adc mode, these bits are don't care 2 7:5 - - reserved 0 4:0 r/w pid see p0x_mode_reg[pid] 0 table 236: watchdog_reg (0x50003100) bit mode symbol description reset 15:9 r0/w wdog_wen 0000.000 = write enable for watchdog timer else write disable. this filt er prevents unintentional preset- ting the watchdog with a sw run-away. 0x0 8 r/w wdog_val_neg 0 = watchdog timer value is positive. 1 = watchdog timer value is negative. 0x0 7:0 r/w wdog_val write : watchdog timer reload valu e. note that all bits 15-9 must be 0 to reload this register. read : actual watchdog timer value. decremented by 1 every 10.24 msec. bit 8 indicates a negative counter value. 2, 1, 0, 1ff 16 , 1fe 16 etc. an nmi or wdog (sys) reset is generated under the following conditions: if watchdog_ctrl_reg [nmi_rst] = 0 then if wdog_val = 0 -> nmi (non maskable interrupt) if wdog_val = 1f0 16 -> wdog reset -> reload ff 16 if watchdog_ctrl_reg [nmi_rst] = 1 then if wdog_val <= 0 -> wdog reset -> reload ff 16 0xff
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 135 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 237: watchdog_ctrl_reg (0x50003102) bit mode symbol description reset 15:2 - - reserved 0x0 1 - - reserved 0x0 0 r/w nmi_rst 0 = watchdog timer gen erates nmi at value 0, and wdog (sys) reset at <=-16. timer can be frozen /resumed using set_freeze_reg[frz_wdog]/ reset_freeze_reg[frz_wdog]. 1 = watchdog timer generates a wdog (sys) reset at value 0 and can not be frozen by software. note that this bit can only be set to 1 by sw and only be reset with a wdog (sys) reset or sw reset. the watchdog is always frozen when the cortex-m0 is halted in debug state. 0x0 table 238: chip_id1_reg (0x50003200) bit mode symbol description reset 7:0 r chip_id1 first character of device type "580" in ascii. 0x35 table 239: chip_id2_reg (0x50003201) bit mode symbol description reset 7:0 r chip_id2 second character of device type "580" in ascii. 0x38 table 240: chip_id3_reg (0x50003202) bit mode symbol description reset 7:0 r chip_id3 third character of device type "580" in ascii. 0x30 table 241: chip_swc_reg (0x50003203) bit mode symbol description reset 7:4 - - reserved 0x0 3:0 r chip_swc s oft wa re c ompatibility code. integer (default = 0) which is incremented if a silicon change has impact on the cpu firmware. can be used by software developers to write silicon revision dependent code. 0x0 table 242: chip_revision_reg (0x50003204) bit mode symbol description reset 7:0 r revision_id chip version, corres ponds with type number in ascii. 0x41 = 'a', 0x42 = 'b' 0x41 table 243: set_freeze_reg (0x50003300) bit mode symbol description reset 15:4 - - reserved 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 136 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 3 r/w frz_wdog if '1', the watchdog timer is frozen, '0' is discarded. watchdog_ctrl_reg[n mi_rst] must be '0' to allow the freeze function. 0x0 2 r/w frz_bletim if '1', the ble master clock is frozen, '0' is discarded. 0x0 1 r/w frz_swtim if '1', the sw timer (timer0) is frozen, '0' is discarded. 0x0 0 r/w frz_wkuptim if '1', the wake up ti mer is frozen, '0' is discarded. 0x0 table 243: set_freeze_reg (0x50003300) bit mode symbol description reset table 244: reset_freeze_reg (0x50003302) bit mode symbol description reset 15:4 - - reserved 0x0 3 r/w frz_wdog if '1', the watchdog timer continues, '0' is discarded. 0x0 2 r/w frz_bletim if '1', the the ble master clock continues, '0' is discarded. 0x0 1 r/w frz_swtim if '1', the sw timer (tim er0) continues, '0' is discarded. 0x0 0 r/w frz_wkuptim if '1', the wake up timer continues, '0' is discarded. 0x0 table 245: debug_reg (0x50003304) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w debugs_freeze_ en default '1', freezing of the on-c hip timers is enabled when the cortex-m0 is halted in debug state. if '0', freezing of the on-chip timers is depending on freeze_reg when the cortex-m0 is halted in debug state except the watchdog timer. the watchdog timer is always frozen when the cortex-m0 is halted in debug state. 0x1 table 246: gp_status_reg (0x50003306) bit mode symbol description reset 15:1 - - reserved 0x0 0 r/w cal_phase if '1', it designates that the chip is in calibration phase i.e. the otp has been initially programmed but no calibration has occured. 0x0 table 247: gp_control_reg (0x50003308) bit mode symbol description reset 15:6 - - reserved 0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 137 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 5:1 r/w em_map select the mapping of the exchange memory pages. 0: em size 0 kb, sysram size 42 kb 1: em size 2 kb, sysram size 48 kb 2: em size 3 kb, sysram size 47 kb 3: em size 4 kb, sysram size 46 kb 4: em size 5 kb, sysram size 45 kb 5: em size 6 kb, sysram size 44 kb 6: em size 7 kb, sysram size 43 kb 7: em size 8 kb, sysram size 42 kb 8: reserved 9: em size 4 kb, sysram size 40 kb 10: em size 5 kb, sysram size 40 kb 11: em size 6 kb, sysram size 40 kb 12: em size 7 kb, sysram size 40 kb 13: em size 8 kb, sysram size 40 kb 14: em size 9 kb, sysram size 40 kb 15: em size 10 kb, sysram size 40 kb 16: reserved 17: em size 6 kb, sysram size 38 kb 18: em size 7 kb, sysram size 38 kb 19: em size 8 kb, sysram size 38 kb 20: em size 9 kb, sysram size 38 kb 21: em size 10 kb, sysram size 38 kb 22: em size 11 kb, sysram size 38 kb 23: em size 12 kb, sysram size 38 kb other: reserved. 0x1 0 r/w ble_wakeup_req if '1', th e ble wakes up. must be ke pt high at least for 1 low power clock period. if the ble is in deep sleep state, then by setting this bit it will cause the wakeup lp irq to be asserted with a delay of 3 to 4 low power cycles. 0x0 table 247: gp_control_reg (0x50003308) bit mode symbol description reset table 248: timer0_ctrl_reg (0x50003400) bit mode symbol description reset 15:4 - - reserved 0x0 3 r/w pwm_mode 0 = pwm signals are '1' during high time. 1 = pwm signals send out the (fast) clock divided by 2 dur- ing high time. so it will be in the range of 1 to 8 mhz. 0x0 2 r/w tim0_clk_div 1 = timer0 uses selected clock frequency as is. 0 = timer0 uses selected clock frequency divided by 10. note that this applies only to the on-counter. 0x0 1 r/w tim0_clk_sel 1 = timer0 uses 16, 8, 4 or 2 mhz (fast) clock frequency. 0 = timer0 uses 32 khz (slow) clock frequency. 0x0 0 r/w tim0_ctrl 0 = timer0 is off and in reset state. 1 = timer0 is running. 0x0 table 249: timer0_on_reg (0x50003402) bit mode symbol description reset 15:0 r0/w tim0_on timer0 on reload value: if read the actual counter value on_cnter is returned 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 138 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 250: timer0_reload_m_reg (0x50003404) bit mode symbol description reset 15:0 r0/w tim0_m timer0 'high' reload va lueif read the actual counter value t0_cnter is returned 0x0 table 251: timer0_reload_n_reg (0x50003406) bit mode symbol description reset 15:0 r0/w tim0_n timer0 'low' reload value: if read the actual counter value t0_cnter is returned 0x0 table 252: pwm2_duty_cycle (0x50003408) bit mode symbol description reset 13:0 r/w duty_cycle duty cycle for pwm 0x0 table 253: pwm3_duty_cycle (0x5000340a) bit mode symbol description reset 13:0 r/w duty_cycle duty cycle for pwm 0x0 table 254: pwm4_duty_cycle (0x5000340c) bit mode symbol description reset 13:0 r/w duty_cycle duty cycle for pwm 0x0 table 255: triple_pwm_frequency (0x5000340e) bit mode symbol description reset 13:0 r/w freq freq for pwm 2 3 4 0x0 table 256: triple_pwm_ctrl_reg (0x50003410) bit mode symbol description reset 2 r/w hw_pause_en '1' = hw can pause pwm 2,3,4 0x1 1 r/w sw_pause_en '1' = pwm 2 3 4 is paused 0x0 0 r/w triple_pwm_ena ble '1' = pwm 2 3 4 is enabled 0x0
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 139 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 6 specifications all min/max specification limits are guar anteed by design, production testing and/ or statistical characterisation. typ- ical values are based on characterisation results at default measurement conditions and are informative only. default measurement conditions (unless otherwise specified): v bat (vbat3v) = 3.0 v (buck mode), v bat (vbat1v) = 1.2 v (boost mode), t a = 25 ? c. all radio measurements are perform ed with standard rf measurement equipment providing a source/load impedance of 50 ? . the specifications in the following tables ar e valid for the reference circuits shown in figure 11 (boost mode) and figure 12 (buck mode). figure 11: alkaline battery cell po wered system diagram (boost mode) 9%$79 9%$7 9gfgf 9gfgf 9%$7 9%$7 <  n 8 '$ 933 $ 6:b&/. & 3b % 6:',2 ' ;7$/.p ) *1' ) 3b % 3b & 3b ( 3b % ;7$/.s ) 5),2s $ *1' & 3b & *1' ' 5),2p $ 567 ( 3b ' 9%$79 ) *1' ' 3b ' 3b ( 3b ( 9%$79 ( 6:,7&+ ) 3b ' 3b & ;7$/0p $ ;7$/0s % 9'&'& ) 9'&'&b5) $ 9%$7b5) ( *1' $ *1' % & x) & $17 %7 9$$$ <  0+]     & x) 73 933 / x+ 73 6:&/. & x) 73 6:',2 & 73 9%$7 73 *1' x) x) +]
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 140 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final figure 12: lithium coin cell powered system diagram (buck mode) 237,21$/ 9%$7 9%$7 9gfgf 9gfgf 9%$7 & 73 6:&/. <  n 73 6:',2 x) & 73 9%$7 73 *1' / x+ $17 8 '$ 933 $ 6:b&/. & 3b % 6:',2 ' ;7$/.p ) *1' ) 3b % 3b & 3b ( 3b % ;7$/.s ) 5),2s $ *1' & 3b & *1' ' 5),2p $ 567 ( 3b ' 9%$79 ) *1' ' 3b ' 3b ( 3b ( 9%$79 ( 6:,7&+ ) 3b ' 3b & ;7$/0p $ ;7$/0s % 9'&'& ) 9'&'&b5) $ 9%$7b5) ( *1' $ *1' % & x) <  0+]     %7 9&rlq & 73 933 x) x) +]
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 141 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 257: absolute maximum ratings parameter description conditions min typ max unit v pin(lim) (defaul t) limiting voltage on a pin voltage between pin and gnd (note 7) -0.1 min{3.6, vbat_rf +0.2} v t stg storage temperature -50 150 c t r(sup) supply rise time power supply rise time 100 ms v bat(lim) (vbat 1v) limiting battery supply voltage supply voltage on vbat1v in a boost con- verter application (vbat3v is second out- put of boost-converter in this case) (note 7) -0.1 3.6 v v bat(lim) (vbat 3v) limiting battery supply voltage supply voltage on vbat3v and vbat_rf in a buck-converter application, pin vbat1v is connected to ground (note 7) -0.1 3.6 v v pin(lim) (1v2) limiting voltage on a pin xtal32km, xtal16mp, xtal16mm (note 7) -0.2 min(1.2,v bat_rf+ 0.2) v v pin(lim) (vdc dc_rf) limiting voltage on the vdcdc_rf pin supply voltage on vdcdc_rf (note 7) -0.2 min(3.3,v bat_rf+ 0.2) v v pin(lim) (xtal 32kp) limiting voltage on a pin xtal32kp -0.2 min(1.5,v bat_rf+ 0.2) v v esd(hbm) (wl csp34) electrostatic discharge voltage (human body model) 2000 v v esd(hbm) (qf n40) electrostatic discharge voltage (human body model) 4000 v v esd(hbm) (qf n48) electrostatic discharge voltage (human body model) 4000 v v esd(mm) (wlc sp34) electrostatic discharge voltage (machine model) 200 v v esd(mm) (qfn 40) electrostatic discharge voltage (machine model) 200 v v esd(mm) (qfn 48) electrostatic discharge voltage (machine model) 200 v v esd(cdm) (wl csp34) electrostatic discharge voltage (charged device model) 500 v v esd(cdm) (qf n40) electrostatic discharge voltage (charged device model) 1000 v v esd(cdm) (qf n48) electrostatic discharge voltage (charged device model) 1000 v
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 142 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 7: the device should not be exposed fo r prolonged periods of time to voltages between the recommended operating conditions and the absolute maximum ratings range. note 8: cold boot should not be performed if voltage is less than 2.5 v because of possible corruption during otp data mirroring. trim values pro- grammed in the otp as well as the application image, should be copied into ram while vbat3v >= 2.5 v. table 258: recommended operating conditions parameter description conditions min typ max unit v pp programming voltage supply voltage on pin vpp during otp pro- gramming; t j ? 50 ? c 6.6 6.7 6.8 v v bat (vbat1v) battery supply voltage supply voltage on vbat1v in a boost con- verter application (vbat3v is second out- put of boost-converter in this case) 0.9 3.3 v v bat (vbat3v) battery supply voltage supply voltage on vbat3v and vbat_rf in a buck-converter application, pin vbat1v is connected to ground 2.35 (note 8) 3.3 v v pin (default) voltage on a pin voltage between pin and gnd 0min(3.3,v bat_rf+ 0.2) v v pin (1v2) voltage on a pin xtal32km, xtal16mp, xtal16mm 01.2v v pin (vdcdc_ rf) voltage on a pin supply voltage on vdcdc_rf 03.3v t a ambient temperature -40 85 c table 259: dc characteristics parameter description conditions min typ max unit i bat (dp_slp)_ boost_1kb battery supply current boost configuration in deep-sleep with 1 kb retention ram active, running from rc32k oscillator at lowest fre- quency 0.48 ? a i bat (dp_slp)_ boost_2kb battery supply current boost configuration in deep-sleep with 2 kb retention ram active, running from xtal32k oscillator 0.55 ? a i bat (dp_slp)_ boost_8kb battery supply current typical boost-applica- tion in deep-sleep with 8 kb retention ram active, running from xtal32k oscillator 0.7 2 ? a i bat (ext_slp) _boost_43k b battery supply current typical boost-applica- tion in extended-sleep mode with 42 kb (sys- ram) and 1 kb (retram) retained 1.37 ? a
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 143 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final i bat (ext_slp) _boost_50kb battery supply current typical boost-applica- tion in extended-sleep mode with 42 kb (sys- ram) and 8 kb (retram) retained 1.5 3 ? a i bat (dp_slp)_ buck_1kb battery supply current buck configuration in deep-sleep with 1 kb retention ram active, running from rc32k oscillator at lowest fre- quency 0.4 ? a i bat (dp_slp)_ buck_2kb battery supply current buck configuration in deep-sleep with 2 kb retention ram active, running from xtal32k oscillator 0.45 ? a i bat (dp_slp)_ buck_8kb battery supply current typical buck-application in deep-sleep with 8 kb retention ram active, running from xtal32k oscillator 0.6 2 ? a i bat (ext_slp) _buck_43kb battery supply current typical buck-application in extended-sleep mode with 42 kb (sysram) and 1 kb (retram) retained 1.2 ? a i bat (ext_slp) _buck_50kb battery supply current typical buck-application in extended-sleep mode with 42 kb (sysram) and 8 kb (retram) retained 1.4 3 ? a i bat (act_rx)_ boost battery supply current typical application with boost converter and receiver active 13.4 16 ma i bat (act_tx)_ boost battery supply current typical application with boost converter and transmitter active 12.4 15 ma i bat (act_rx)_ buck battery supply current typical application with buck converter and receiver active 5.1 6 ma i bat (act_tx)_ buck battery supply current typical application with buck converter and transmitter active 4.8 6 ma table 260: timing characteristics parameter description conditions min typ max unit t sta (boost) startup time boos t-mode; time from deep-sleep to software start. typical application, run- ning from retention ram on 16 mhz rc oscillator 1.2 (note 9) ms table 259: dc characteristics parameter description conditions min typ max unit
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 144 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 9: worst-case value under normal operating conditions. note 10: using the internal varicaps a wide range of crystals can be trimmed to the required tolerance. note 11: maximum allowed frequency tolerance for compensati on by the internal varicap trimming mechanism. note 12: select a crystal which can handle a drive-level equal or more than this specification t sta (buck) startup time buck-mode; time from deep-sleep to software start. typical application, run- ning from retention ram on 16 mhz rc oscillator 1 (note 9) ms table 260: timing characteristics parameter description conditions min typ max unit table 261: 16 mhz crystal oscillator: recommended operating conditions parameter description conditions min typ max unit f xtal (16m) crystal oscillator fre- quency 16 mhz esr(16m) equivalent series resist- ance 100 ? c l (16m) load capacitance no external capacitors are required 10 12 pf c 0 (16m) shunt capacitance 5 pf ? f xtal (16m) crystal frequency toler- ance after optional trimming; including aging and tem- perature drift (note 10) -20 20 ppm ? f x- tal (16m)unt crystal frequency toler- ance untrimmed; including aging and temperature drift (note 11) -40 40 ppm p drv(max) (16m ) maximum drive power (note 12) 100 ? w v clk(ext) (16m) external clock voltage only in case of an exter- nal reference clock on xtal16mp (xtal16mm floating or connected to mid-level 0.6 v) 11.2 v ? n (exter- nal)16m phase noise f c = 50 khz in case of an external reference clock -130 dbc/ hz table 262: 16 mhz crystal oscillator: timing characteristics parameter description conditions min typ max unit t sta(xtal) (16m) crystal oscillator startup time 0.5 2 3 ms
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 145 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 13: select a crystal that can handle a drive- level of at least this specification. note 14: this parameter is very much dependent on crystal parameters note 15: a low value will result in lowest power consum ption, keep this value at 1 uf or 2 uf. table 263: 32 khz crystal oscillat or: recommended operating conditions parameter description conditions min typ max unit v clk(ext) (32k) external clock voltage peak-peak voltage of external clock at xtal32kp, pin xtal32km floating. note: xtal32kp is inter- nally ac coupled 0.1 0.2 1.5 v f xtal (32k) crystal oscillator fre- quency frequency range for an external clock (for a crystal, use either 32.000 khz or 32.768 khz) 10 32.768 100 khz esr(32k) equivalent series resist- ance 100 k ? c l (32k) load capacitance no external capacitors are required for a 6 pf or 7 pf crystal 679pf c 0 (32k) shunt capacitance 1 2 pf ? f xtal (32k) crystal frequency toler- ance (including aging) timing accuracy is domi- nated by crystal accu- racy. a much smaller value is preferred -250 250 ppm p drv(max) (32k) maximum drive power (note 13) 0.1 ? w table 264: 32 khz crystal oscill ator: timing characteristics parameter description conditions min typ max unit t sta(xtal) (32k) crystal oscillator startup time typical application, time until 1000 clocks are detected (note 14) 0.4 s table 265: dc-dc converter: recommended operating conditions parameter description conditions min typ max unit l effective inductance 1.5 2.2 3 ? h c out (vdcdc) effective load capaci- tance vdcdc and vddcrf combined (note 15) 0.5 1 10 ? f c out (vbat3v) effective load capaci- tance vbatrf and vbat3v combined are the sec- ond output of the boost- converter (note 15) 0.5 1 10 ? f table 266: dc-dc converter: dc characteristics parameter description conditions min typ max unit v o (buck) output voltage default settings 1.41 v
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 146 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 16: when vbat1v > vdcdc_nominal, vdcdc will follow vbat1v. note 17: in boost mode the output source current is limited to iout = -250 ua. note 18: in boost mode the output sink current is limited to iout = 250 ua. v o (boost) output voltage defau lt settings, vdcdc 1.41 v ? conv_max (bu ck) maximum conversion efficiency 86 % ? conv_max (bo ost) maximum conversion efficiency 80 % ? v o / ? v i (buck) line regulation 2.35 v ? vbat3v ? 3.3 v -2 0.7 2 %/v ? v o / ? v i (boost) line regulation 0.9 v ? vbat1v ? 1.2 v (note 16) -2 1 4 %/v ? v o / ? i l (buck) load regulation vbat3v = 2.5 v -0.2 -0.02 0.2 %/ma ? v o / ? i l (boost) load regulation vbat1v = 1.2 v -0.2 -0.07 0.2 %/ma v rpl (buck) ripple voltage buck mode; rms ripple voltage 5mv v rpl (boost) ripple voltage vbat1v ? 1.2 v, boost mode; rms ripple volt- age (note 16) 8mv table 266: dc-dc converter: dc characteristics parameter description conditions min typ max unit table 267: digital input/output: dc characteristics parameter description conditions min typ max unit v ih high level input voltage 0.84 v v il low level input voltage 0.36 v v ih (rst) high level input voltage rst pin 0.84 v v il (rst) low level input voltage rst pin 0.36 v v oh (vbat1v) high level output volt- age iout = -250 ? a, vbat3v = 2.35 v, vbat1v = 0.9 v 0.72 v v oh (vbat3v) high level output volt- age iout = -4.8 ma, vbat3v = 2.35 v, vbat1v = 0 v (note 17) 1.88 v v ol (vbat1v) low level output voltage iout = 250 ? a, vbat3v = 2.35 v, vbat1v = 0.9 v 0.18 v v ol (vbat3v) low level output volt age iout = 4.8 ma, vbat3v = 2.35 v, vbat1v = 0 v (note 18) 0.47 v i ih high level input current vin = vbat3v = 2.5 v -1 1 ? a i il low level input current vin = vss = 0 v -1 1 ? a i ih (pd) high level input current vin = vbat3v = 2.5 v 50 150 ? a i il (pu) low level input current vin = vss = 0 v -150 -50 ? a i ih (rst) high level input current rst pin, v(rst) = 1.2 v 25 75 ? a
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 147 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 19: the dcdc-converter efficiency is assumed to be 100 % to enable benchm arking of the radio currents at battery supply domain (vba t3v = 3 v). table 268: general purpose adc: recommended operating conditions parameter description conditions min typ max unit n bit (adc) number of bits (resolu- tion) 10 bit table 269: general purpose adc: dc characteristics parameter description conditions min typ max unit v i(zs) zero-scale input voltage single-ended, calibrated at zero input -2.5 0 2.5 mv v i(fs) full-scale input voltage single-ended, calibrated at zero input 1150 1180 1250 mv v i(fsn) negative full-scale input voltage differential, calibrated at zero input -1180 mv v i(fsp) positive full-scale input voltage differential, calibrated at zero input 1180 mv inl integral non-linearity -2 2 lsb dnl differential non-linearity -2 2 lsb table 270: general purpose adc: timing characteristics parameter description conditions min typ max unit t conv (adc) conversion time excluding initial settling time of the ldo and the 3x-attenuation (if used): ldo settling time is 20 ? s (max), 3x-attenuation settling time = 1 ? s (max) using internal adc-clock (~200 mhz) 0.25 0.4 ? s table 271: radio: dc characteristics parameter description conditions min typ max unit i bat (rf)rx battery supply current receive mode; radio receiver and synthesizer active; dcdc converter assumed ideal; t a = 25 c (note 19) 3.7 4.3 ma i bat (rf)tx battery supply current transmit mode; radio transmitter and synthe- sizer active; dcdc con- verter assumed ideal; t a = 25 c (note 19) 3.4 4 ma
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 148 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final table 272: radio: ac characteristics parameter description conditions min typ max unit p sens (clean) sensitivity level dc-dc converter ena- bled; dirty transmitter disabled; t a = 25 c; per = 30.8 % (note 20) -93 dbm p sens sensitivity level normal operating condi- tions; dc-dc converter enabled; t a = 25 c; per = 30.8 % (note 20) -92.5 dbm p i (max) input power level dc-dc converter disa- bled; t a = 25 ? c; per ? 30.8 % (note 20) 10 dbm p int(imd) intermodulation distor- tion interferer power level worst case interferer level @ f 1 , f 2 with 2f 1 -f 2 = f 0 , |f 1 -f 2 | = n mhz and n = 3,4,5; p wanted = -64 dbm @ f 0 ; per = 30.8 %; t a = 25 c (note 22) -35 -31 dbm cir(0) carrier to interferer ratio n = 0; interferer @ f 1 = f 0 + n*1 mhz; t a = 25 c (note 23) 721db cir(1) carrier to interferer ratio n = 1; interferer @ f 1 = f 0 + n*1 mhz; t a = 25 c (note 23) -3 15 db cir(p2) carrier to interferer ratio n = +2 (image fre- quency); interferer @ f1 = f0 + n*1 mhz; t a = 25 ? c (note 23) -20 -9 db cir(m2) carrier to interferer ra tio n = -2; interferer @ f1 = f0 + n*1 mhz; t a = 25 ? c (note 23) -30 -17 db cir(p3) carrier to interferer ratio n = +3 (image frequency + 1 mhz); interferer @ f1 = f0 + n*1 mhz; t a = 25 ? c (note 23) -30 -15 db cir(m3) carrier to interferer ra tio n = -3; interferer @ f1 = f0 + n*1 mhz; t a = 25 ? c (note 23) -35 -27 db cir(4) carrier to interferer ratio |n| >= 4 (any other ble channel); interferer @ f 1 = f 0 + n*1 mhz; t a = 25 c (note 23) -37 -27 db
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 149 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final p bl (i) blocker power level 30 mhz ? f bl ? 2000 mhz; p wanted = -67 dbm; t a = 25 c (note 24) -5 dbm p bl (ii) blocker power level 2003 mhz ? f bl ? 2399 mhz; p wanted = -67 dbm; t a = 25 c (note 24) -15 dbm p bl (iii) blocker power level 2484 mhz ? f bl ? 2997 mhz; p wanted = -67 dbm; t a = 25 ? c (note 24) -15 dbm p bl (iv) blocker power level 3000 mhz ? f bl ? 12.75 ghz; p wanted = -67 dbm; t a = 25 ? c (note 24) -5 dbm p rssi (min) rssi power level absolute power level for rxrssi[7:0] = 0; t a = 25 c (note 25) -115 -112 -109 dbm p rssi (max) rssi power level upper limit of monoto- nous range; t a = 25 c -26 -19 dbm l acc (rssi)bo ost level accuracy tolerance of 5 % to 95 % confidence interval of p rf : when rxrssi[7:0] = x , 50 < x < 175; burst mode 1500 packets; t a = 25 c; dc-dc con- verter in boost mode 03db l acc (rssi)bu ck level accuracy tolerance of 5 % to 95 % confidence interval of p rf : when rxrssi[7:0] = x , 50 < x < 175; burst mode 1500 packets; t a = 25 c; dc-dc con- verter in buck mode 02db l res (rssi) level resolution gradient of monotonous range for rxrssi[7:0] = x, 50 < x < 175; burst mode 1500 packets; t a = 25 ?? c 0.46 0.474 0.485 db/ lsb acp(2m) adjacent channel power level f offset = 2 mhz; t a = 25 ?? c (note 26) -53 -50 dbm acp(2m)(eoc) adjacent channel power level f offset = 2 mhz; -40 ?? c ? t a ? +85 ?? c (note 26) -53 -47 dbm acp(3m) adjacent channel power level f offset ? 3 mhz; t a = 25 ?? c (note 26) -57 -55 dbm table 272: radio: ac characteristics parameter description conditions min typ max unit
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 150 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final note 20: measured according to bluetooth? low energy test specification rf-phy.ts/4.0.1, section 6.4.1. note 21: measured according to bluetooth? low energy test specification rf-phy.ts/4.0.1, section 6.4.2. note 22: measured according to bluetooth? core techni cal specification document, version 4.2, volume 6, section 4.4. published value is for n = ixit = 4 . ixit = 5 gives the same results, ixit = 3 gives results that are 5 db lower. note 23: measured according to bluetooth? core technical specif ication document, version 4.2, volume 6, section 4.2. note 24: measured according to bluetooth? core techni cal specification document, version 4.2, volume 6, section 4.3. due to limitations of the measurement equipment, levels of -5 dbm should be interpreted as > -5 dbm. note 25: prf = prssi(min) + lres(rssi) x rxrssi[7:0] lacc(rssi). thanks to constant gain biasing of rf part in the receiver, the rssi can be used to estimate absolute power levels, rather than mere leve l changes. even across the full temperature range the variation is limited. note 26: measured according to bluetooth? low energy test specification rf-phy.ts/4.0.1, section 6.2.3. note 27: to activate the "near field mode", program address 0x50002418 with the value 0x0030. note 28: maximum recommended connection interval (includi ng slave latency) for the rcx usage is 2 s. acp(3m)(eoc) adjacent channel power level f offset ? 3 mhz; -40 ?? c ? t a ? +85 ?? c (note 26) -57 -47 dbm p o output power level v dd = 3 v; maximum gain; t a = 25 c -2 -1 0 dbm p o (hd2) output power level (sec- ond harmonic) vdd = 3 v; maximum gain; t a = 25 ? c -54 -40 dbm p o (hd3) output power level (third harmonic) vdd = 3 v; maximum gain; t a = 25 ? c -56 -40 dbm p o (hd4) output power level (fourth harmonic) vdd = 3 v; maximum gain; t a = 25 ? c -70 -40 dbm p o (hd5) output power level (fifth harmonic) vdd = 3 v; maximum gain; t a = 25 ? c -70 -40 dbm p o (nfm) output power level in 'near field mode' v dd = 3 v; maximum gain; t a = 25 c (note 27) -25 -20 -15 dbm table 272: radio: ac characteristics parameter description conditions min typ max unit table 273: stable low frequency rcx oscillator: timi ng characteristics parameter description conditions min typ max unit f rc (rcx) rcx oscillator frequency default setting, buck mode only 51040khz ? f rc (rcx) rcx oscillator fre- quency drift buck mode only (note 28) -500 500 ppm ? t a / ? t(rcx)100ms ambient temperature gradient buck mode only; connec- tion interval 100 ms 0.66 c/s ? t a / ? t(rcx)4s ambient temperature gradient buck mode only; connec- tion interval 4 s 0.33 c/s
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 151 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7 package information 7.1 moisture sensi tivity level (msl) the msl is an indicator for the maximum allowable time period (floor life time) in which a moisture sensi- tive plastic device, once removed from the dry bag, can be exposed to an environment with a maximum tem- perature of 30 c and a ma ximum relative humidity of 60 % rh. before the solder reflow process. wlcsp packages are qualified for msl 1. qfn packages are qualified for msl 3. 7.2 wlcsp handling manual handling of wlcsp packages should be reduced to the absolute minimum. in cases where it is still necessary, a vacuum pick- up tool should be used. in extreme cases plastic tweezers could be used, but metal tweezers are not acceptable, since contact may easily damage the silicon chip. removal will cause damage to the solder balls and therefore a removed sample cannot be reused. wlcsp is sensitive to visible and infrared light. pre- cautions should be taken to properly shield the chip in the final product. 7.3 soldering information refer to the jedec standard j-std-020 for relevant soldering information. this document can be downloaded from http:// www.jedec.org msl level floor life time msl 4 72 hours msl 3 168 hours msl 2a 4 weeks msl 2 1 year msl 1 unlimited at 30c/85%rh
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 152 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final 7.4 package outlines figure 13: qfn48 package outline drawing
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 153 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final figure 14: qfn40 package outline drawing
datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 154 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final figure 15: wlcsp34 package outline drawing
status definitions disclaimer information in this document is believed to be accurate and reliable. however, dialog semiconductor does not give any representations or warranties, expressed or implied, as to the accuracy or comple teness of such information. dialog semiconductor furthermore takes no responsibility what soever for the content in th is document if provided by any information source outside of dialog semiconductor. dialog semiconductor reserves the right to change without notice the information published in this document, includ- ing without limitation the specification and design of the related semiconductor products, software and applications. applications, software, and semiconductor products described in this document are for illustrative purposes only. dialog semiconductor makes no representation or warra nty that such applications, software and semiconductor products will be suitable for the specified use without further testing or modification. unle ss otherwise agreed in writ- ing, such testing or modification is t he sole responsibility of the customer and dialog semiconductor excludes all lia- bility in this respect. customer notes that nothing in this document may be construed as a license for customer to use the dialog semi- conductor products, software and applications referred to in this document. such license must be separately sought by customer with dialog semiconductor. all use of dialog semiconductor products, software and applications referred to in this document are subject to dialog semiconductor's standard terms and conditions of sale , unless otherwise stated. ? dialog semiconductor. all rights reserved. rohs compliance dialog semiconductor complies to european directive 2001/95/ec and from 2 january 2013 onwards to european directive 2011/65/eu concerning restriction of haza rdous substances (rohs/rohs2). dialog semiconductor?s statement on rohs can be found on the cu stomer portal https://support.diasemi.com/ . rohs certificates from our suppliers are available on request. version datasheet status product status definition 1. target development this datasheet contai ns the design specifications for prod- uct development. specifications may change in any manner without notice. 2. preliminary qualification thi s datasheet contains the s pecifications and preliminary characterisation data for products in pre-production. specifi- cations may be changed at any time without notice in order to improve the design. 3. final production this datasheet contains the final specifications for products in volume production. the specifications may be changed at any time in order to improve the design, manufacturing and supply. relevant changes will be communicated via customer product notifications. 4. obsolete archived this datasheet contai ns the specifications for discontinued products. the information is provided for reference only. united kingdom (headquarters) dialog semiconductor (uk) ltd phone: +44 1793 757700 germany dialog semiconductor gmbh phone: +49 7021 805-0 the netherlands dialog semiconductor b.v. phone: +31 73 640 8822 email: enquiry@diasemi.com contacting dialog semiconductor north america dialog semiconductor inc. phone: +1 408 845 8500 japan dialog semiconductor k. k. phone: +81 3 5425 4567 taiwan dialog semiconductor taiwan phone: +886 281 786 222 web site: www.dialog-semiconductor.com singapore dialog semiconductor singapore phone: +65 64 8499 29 hong kong dialog semiconductor hong kong phone: +852 3769 5200 korea dialog semiconductor korea phone: +82 2 3469 8200 datasheet revision 3.3 08-jun-2016 cfr0011-120-00-fm 155 of 155 ? 2014 dialog semiconductor DA14580 low power bluetooth smart 4.2 soc final china (shenzhen) dialog semiconductor china phone: +86 755 2981 3669 china (shanghai) dialog semiconductor china phone: +86 21 5424 9058 155


▲Up To Search▲   

 
Price & Availability of DA14580

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X